想通过集合不可重复的特性实现对一个字符串的打乱
import randomdef fy_shuffle(string):
length=int(len(string))
for i,j in enumerate(string,start=1):
dic={j:i}
r=random.randint(1,length)
setted=set(dic.pop(r))
string=input("请输入需要打乱的字符串:")
result=fy_shuffle(string)
print("打乱后的结果是",result)
分别在第7行和第九行报错 本质上只有第7行报错,第九行只是因为调用函数而函数内出错而已
import random
def fy_shuffle(string):
setted=set()
for i in range(len(string)*2):
r=random.randint(0,len(string)-1)
setted.add(string)
return setted
string=input("请输入需要打乱的字符串:")
result=fy_shuffle(string)
print("打乱后的结果是",result)
本身思路就有问题,如果一个字符串内出现相同字母,因为集合只有唯一,那多余的只能被过滤掉了
也完全不需要这么麻烦
页:
[1]