如何在列表中找到未知变量?

时间:2013-12-13 16:19:39

标签: python python-3.x

names = ['rick', 'james','robert','michael','jose']

import random


for get in names:

    user_input=input("Enter the name")
    if user_input == get:
        print (get)

是否可以让此程序从names中随机选择一个单词,然后询问用户列表中的下一步。然后检查它是否正确并继续循环。

例如程序随机选择robert。我如何找到names[:4]并检查它是否正确。我想保持列表的顺序,但选择一个str(),然后看看后面的内容。

1 个答案:

答案 0 :(得分:0)

从列表中选择一个随机索引(减1)。

index = random.randrange(len(names) - 1)

现在您可以打印names[index]并通过与names[index + 1]进行比较来测试玩家是否猜对了:

print('I picked: {}'.format(names[index]))
nextname = input('Who is next?')
if nextname == names[index + 1]:
    print('Correct! It is indeed {}'.format(names[index + 1]))

如果你想随机选择名字,那么你需要创建一个随机的索引列表:

indices = list(range(len(names) - 1))
random.shuffle(indices)
for index in indices:
    print('I picked: {}'.format(names[index]))
    nextname = input('Who is next?')
    if nextname == names[index + 1]:
        print('Correct! It is indeed {}'.format(names[index + 1]))

这会创建一个整数列表,可以索引除姓氏之外的所有整数,并使用random.shuffle()以随机顺序为您提供该列表;没有索引会以这种方式被选中两次。