所以我想从列表中拉出一个单词,然后我想混淆这个单词,所以我将不得不猜出混合单词是什么。一旦猜对了,就会转到下一个单词。
到目前为止我的代码:
import random
words = ['Jumble', 'Star', 'Candy', 'Wings', 'Power', 'String', 'Shopping', 'Blonde', 'Steak', 'Speakers', 'Case', 'Stubborn', 'Cat', 'Marker', 'Elevator', 'Taxi', 'Eight', 'Tomato', 'Penguin', 'Custard']
from random import shuffle
shuffle(words)
答案 0 :(得分:0)
您无需导入已随机导入的随机播放
答案 1 :(得分:0)
请注意shuffle()
更改输入参数就地,它将始终返回None
。
正如Kevin建议的那样,您可以按random.choice()
选择一个随机单词,并按以下方式显示:
我认为你正在努力做到
sorted(words[2], key=lambda k: random.random())
# ['y', 'd', 'a', 'C', 'n']
您可以通过以下方式加入:
''.join(sorted(words[2], key=lambda k: random.random()))
# 'andCy'
答案 2 :(得分:0)
从代码开始:
import random
words = ['Jumble', 'Star', 'Candy', 'Wings', 'Power', 'String', 'Shopping', 'Blonde', 'Steak', 'Speakers', 'Case', 'Stubborn', 'Cat', 'Marker', 'Elevator', 'Taxi', 'Eight', 'Tomato', 'Penguin', 'Custard']
使用random.choice()
获取单个字词:
chosen = random.choice(words)
如果您想要抓取多个单词并一次处理一个单词,则可以使用random.sample()
代替。如果您要处理每个单词,可以使用已经完成的random.shuffle()
,然后迭代words
(使用for word in words: ...
)。
最后,洗牌:
letters = list(chosen) # list of all the letters in chosen, in order
random.shuffle(letters)
scrambled = ''.join(letters)
答案 3 :(得分:0)
尝试类似
的内容for w in words:
s = list(w)
shuffle(s)
print ''.join(s)
在将shuffle应用于每个单词之前,先将每个单词转换为列表。然后加入他们