python代码写错了怎么修改密码_写错 Python 部分代码,结果让我想不明白

crella:问题比较难描述。我是新手,本来我是用 Ruby 写全排列算法生成器的,然后想看 Python 怎么写。我不懂 Python,所以看别人怎么用 yield 也就随便用。问题出在我写错的最后一句:print(','.join(str(o))),打印的结果我实在看不懂,或许是我不懂 yield 的流程。是我的 yield 哪里写错了吗?

# 生成数组[1,2,3,4]的全部元素的全排列

def scan(src, m, n):

if (m == n):

yield src

else:

for i in range(m, (n+1)):

# 交换

tmp = src[m]

src[m] = src[i]

src[i] = tmp

# 递归

for _ in scan(src, (m+1), n):

yield _

# 恢复交换前

tmp = src[m]

src[m] = src[i]

src[i] = tmp

def perm_core(src):

n = len(src) - 1

for _ in scan(src, 0, n):

yield _

# main

list = [i for i in range(1, 5)]

for o in perm_core(list):

# ~ w = [str(y) for y in o]

# ~ print (','.join(w)) # 正确代码

print(','.join(str(o))) # 错误代码

打印结果

binux:你不懂 join

Pagliacii:https://sm.ms/image/G54yMndwJrOcEgN

问题在于你直接将列表作为参数传给了 str,结果就如图所示了

superrichman:你的问题楼上说了,传给 str 的参数有问题,你需要对列表里每一个元素转 str 而不是整个列表转 str 。

其实需要字符串的列表在列表生成的时候就可以转了,比如把 i 改成 str(i)

list = [str(i) for i in range(1, 5)]

不过变量不要取名为 list,这会和 python 内置的 list 函数冲突,可能会引起其它问题。

python 内置模块有排列组合的功能, 可以去搜索关键字 itertools permutation combination,内置的实现一般运行效率会比自己写的高

python 交换变量的值,可以不用自己声明临时变量,直接

a, b = b, a

完成交换

Python 哪个库求反三角函数能返回角度值?

Hlianbobo:python 哪个库求反三角函数能返回角度值?网上查了结果返回的都是弧度值RockShake:转换一下就好了啊 SingeeKing:你的初中数学老师棺材板该压不住了… 她绝对讲过弧度和角度的换算 way2explore2:对的同一楼上,自己转换 jinliming2:角度=弧度*180/π Mindjet:@SingeeKing #2 …Python 如何查某关键词在百度网页第几页?

cizimo:例如,在百度搜索 XXX 关键词后,想知道包含 YYY 的词在搜索结果的第几页? 这个能做到吗? 或者说有没有教程,砸一个链接给我呗,谢谢大家啦Python 有没有监听鼠标点击网页相关元素的包呢?

18870715400:具体需求 比如说打开了 www.baidu.com ,当你鼠标点击了“百度一下”就可以获得这个对应的 id 或者是对应的 xpath 语法 如果没有对应的包,那么有什么可以具体实现的思路呢?Python 现在最好用的包管理是啥?

maichael:最近为了给测试搭自动化测试,重新开始搞起 Python,但是整体工程结构比较苦恼。 重点是版本管理,requirements.txt 感觉不怎么好用。Pipenv? Tox? 还是其它的啥? 以及像 package.json 里 scripts 的用法,python 有类似的吗?cdyrhh:poetryPython 如何优雅地处理子线程异常?

Te11UA:目前比较多的做法还是如下,出于担心未知异常、没有记录日志就退出子线程的情况下,在函数用一个大的 try-except 来进行 handle,或者是将主要逻辑放到 test_sth 中,使用 try-except 来捕获: def run(): try: test_sth() ... except Exception: log_exception…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值