在python的IDLE中测试时,此函数不会给出输出:
import random
def scramble(string):
rlist = []
while len(rlist) < len(string):
n = random.randint(0, len(string) - 1)
if rlist.count(string[n]) < string.count(string[n]):
rlist += string[n]
rstring = str(rlist)
return rstring
scramble('sdfa')
我花了很长时间试图解决这个问题,但代码对我来说似乎很好。在
注意:
不要使用} 冲突。在
string
作为参数名,它可能与standard module ^{您可能不想返回列表的
str()
,这会导致类似相反,若要获得加扰字符串结果,请使用^{} :
^{pr2}$scramble
的最后两行可以合并成一个return
:或者
正确格式化这似乎解决了问题。在
在Python中,缩进和良好的语法一样重要:) 顺便说一下,正如@Vincent Savard所说,您没有打印结果。在scramble()中,返回了一个字符串,但没有对该字符串执行任何操作。在
相关问题 更多 >
编程相关推荐