from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)
我试图在python上制作一个基本的记忆游戏。上面是我当前的代码,用于在列表中生成随机数,但我希望它打印出一个字符串而不是整数,例如'鸭'而不是每次打印时#5。我输入的内容如下:
print(x[4])
任何帮助将不胜感激
答案 0 :(得分:3)
一种方法是将所有选项放在列表中,然后使用random.suffle()
对内容进行随机播放。如果您不想修改原始列表,请务必先复制。
items = ['duck', 'goose', 'swan']
random.shuffle(items)
# ['goose', 'duck', 'swan']
如果你真的需要跟踪他们来自哪里(即他们的原始索引),你可以使用一个元组来保存你的项目和他们的原始索引,然后将其洗牌。
tupled_items = [x for x in enumerate(items)]
random.shuffle(tupled_items)
# [(1, 'goose'), (0, 'duck'), (2, 'swan')]
答案 1 :(得分:2)
from random_words import RandomWords
rw = RandomWords()
x = [rw.random_word() for _ in range(10)]
print x
如果您已经知道要使用的单词,请将其设为dict,并执行以下操作Randomly shuffling a dictionary in Python
答案 2 :(得分:1)
如果您想要字符串列表的通用答案,请遵循以下代码: -
from random import shuffle
string_list = ['a', 'b', 'c']
result = shuffle(string_list)
print(string_list)