使用随机模块从列表中随机选择并执行某些操作

时间:2014-11-17 19:43:58

标签: python random

我试图让程序从列表中随机打印一个项目,然后程序要求用户输入有真假条件的一些信息,然后将用户返回到开始位置他们可以选择一个新的'

我遇到的问题是,只有' listone'正在被选中,并且由于所有这些帮助,它不是随机列表选择。

import random
questlist = ['questone', 'questtwo', 'questthree']
random.choice(questlist)


def start():
    print('Hi, welcome to the race track')
    pick = input('pick a track')
    displaytrack()


def displaytrack():
    tracks = ('track 1', 'track 2', 'track 3')
    print(tracks)



if 'questone':
    ans = input('how old are u')
    if ans == 3:
        print('Correct')
        print('Thanks for using')
        start()
    else:
            print('Incorrect')
            start()


if 'questtwo':
    ans = input('How nice are u')
    if ans == 'very':
        print('Correcterino')
        print('Thanks for using')
        start()
    else:
            print('Wrongerino')
            start()

if 'questthree':
    ans = input('How tall are u')
    if ans == 'pretty':
        print('sixfoot')
        print('Thanks for using')
        start()
    else:
            print('no feet')
            start()

2 个答案:

答案 0 :(得分:1)

您需要存储选择的输出并在条件表达式中使用它:

choice = random.choice(questlist)

替换

if 'questone':

if choice == 'questone':

等等,否则,if表达式只是检查字符串'questone'是否为None,并且它将始终评估为True

答案 1 :(得分:0)

使用此代替您当前的第三行

PC_Choice = random.choice(questlist)

然后使用:if PC_Choice == questone

像这样:

if PC_Choice == 'questone':
    ans = input('how old are u')
    if ans == 3:
    print('Correct')
    print('Thanks for using')
    start()
else:
        print('Incorrect')
        start()

然后改变另外两个,这将使其随机选择