为了账号安全,请及时绑定邮箱和手机立即绑定

从随机生成的列表中选择-python

从随机生成的列表中选择-python

不负相思意 2021-05-10 16:08:56
我正在尝试在python中创建一个随机列表。每次您运行代码时,列表中的随机单词都会按顺序出现。我试图做的是:import randomnumSelect = 0list = ['thing1', 'thing2', 'thing3', 'thing4', 'thing5']for i in range(random.randint(1, 3)):    rThing = random.choice(list)    numSelect = numSelect + 1    print(numSelect, '-' , rThing)目的是要求用户从列表中选择要显示的内容。这是我想要的输出示例:1 - thing42 - thing2Which one do you choose?: (User would type '2')*output of thing2*
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

如果我理解正确,那么您的主要问题是列出列表中的所有项目是否正确?


为了轻松显示列表中的所有项目,然后以他们选择的内容进行响应,此代码应该起作用。


list = ['thing1', 'thing2', 'thing3', 'thing4', 'thing5']

for i in range(len(list)):

    print(str(i)+": "+list[i])

UI = input("Make a selection: ")

print("You selected: "+list[int(UI)])

或将最后一个打印语句更改为您需要程序处理用户输入的任何内容UI。


查看完整回答
反对 回复 2021-05-25
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

您可以先随机播放列表,然后为列表中的每一项分配一个数字到字典:


from random import shuffle


random_dict = {}

list = ['thing1', 'thing2', 'thing3', 'thing4', 'thing5']


shuffle(list)


for number, item in enumerate(list):

    random_dict[number] = item

使用字典理解的相同代码:


from random import shuffle


list = ['thing1', 'thing2', 'thing3', 'thing4', 'thing5']

shuffle(list)

random_dict = {number: item for number, item in enumerate(list)}

然后,您将拥有一个字典,键从0开始(如果要从1开始枚举,只需设置enumerate(list, start=1)),然后从列表中随机排序这些项。


字典本身并不是真正必要的,因为混排列表中的每个项目都已经有位置。但是无论如何我还是推荐它,这很容易。


然后,您可以像下面这样使用dict:


for k, v in random_dict.items():

    print("{} - {}".format(k, v))


decision = int(input("Which one do you choose? "))

print(random_dict[decision])


查看完整回答
反对 回复 2021-05-25
  • 3 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信