Python 如果语句不重新生成用户输入

Python 如果语句不重新生成用户输入,python,list,if-statement,Python,List,If Statement,我对Python和一般的编码都是新手。我正在试着做一个填空测验来练习。第一部分要求用户选择一个难度。输入后,代码会附加一个空列表。我将使用列表加载问题和答案。然而,我遇到的问题是if语句无法识别用户输入。我想确保用户只输入简单、中等或硬的内容。为了查看代码是否有效,我使用了打印功能。但是,我的代码直接转到else语句并打印“重试”。有什么想法吗 这是我的密码 choice = [] new_choice = raw_input('Select your quiz difficulty: Eas

我对Python和一般的编码都是新手。我正在试着做一个填空测验来练习。第一部分要求用户选择一个难度。输入后,代码会附加一个空列表。我将使用列表加载问题和答案。然而,我遇到的问题是if语句无法识别用户输入。我想确保用户只输入简单、中等或硬的内容。为了查看代码是否有效,我使用了打印功能。但是,我的代码直接转到else语句并打印“重试”。有什么想法吗

这是我的密码

choice = []

new_choice = raw_input('Select your quiz difficulty: Easy, Medium, Hard: ')
choice.append(new_choice)
print choice

if choice == 'easy':
    print 'True'
elif choice == 'medium':
    print 'True'
elif choice == 'hard':
    print 'True'
else:
    print 'Try again.'

choice
是包含您的输入的列表,而不是输入。存储到
新选项中的用户输入
变量。试试这个

choice = raw_input('Select your quiz difficulty: Easy, Medium, Hard: ')
print choice

if choice == 'easy':
    print 'True'
elif choice == 'medium':
    print 'True'
elif choice == 'hard':
    print 'True'
else:
    print 'Try again.'

choice
是包含您的输入的列表,而不是输入。存储到
新选项中的用户输入
变量。试试这个

choice = raw_input('Select your quiz difficulty: Easy, Medium, Hard: ')
print choice

if choice == 'easy':
    print 'True'
elif choice == 'medium':
    print 'True'
elif choice == 'hard':
    print 'True'
else:
    print 'Try again.'

在当前形式中,choice是一个列表,而您正试图将其与字符串/文本进行比较。相反,请尝试以下方法:

choices = []

new_choice = raw_input('Select your quiz difficulty: Easy, Medium, Hard: ')
choices.append(new_choice)
print choices

if choices[-1] == 'easy':
    print 'True'
elif choices[-1] == 'medium':
    print 'True'
elif choices[-1] == 'hard':
    print 'True'
else:
    print 'Try again.'

我将您的列表重命名为
choices
,以表明它包含多个对象<代码>-1让我们来访问您添加到该列表的最后一项内容。因此,如果您计划存储所有用户对列表
选项的响应
,您可以将其与上一个答案进行比较,然后继续。

当前形式的
选项
是一个列表,而您正试图将其与字符串/文本进行比较。相反,请尝试以下方法:

choices = []

new_choice = raw_input('Select your quiz difficulty: Easy, Medium, Hard: ')
choices.append(new_choice)
print choices

if choices[-1] == 'easy':
    print 'True'
elif choices[-1] == 'medium':
    print 'True'
elif choices[-1] == 'hard':
    print 'True'
else:
    print 'Try again.'

我将您的列表重命名为
choices
,以表明它包含多个对象<代码>-1让我们来访问您添加到该列表的最后一项内容。因此,如果您计划存储所有用户对列表
选项的响应,您可以与最后一个答案进行比较,然后继续。

您正在将列表与变量进行比较

可能使用:

variable = choice[0]
if variable == 'easy':
    # rest of program
另外,确保“easy”、“medium”和“hard”没有大写字母

您可以使用:

new_choice.lower() # converts to lowercase

在添加到列表之前,您要将列表与变量进行比较

可能使用:

variable = choice[0]
if variable == 'easy':
    # rest of program
另外,确保“easy”、“medium”和“hard”没有大写字母

您可以使用:

new_choice.lower() # converts to lowercase

在添加到您的列表之前

我可能也会重命名变量(
choice
->
choices
)好主意,我要添加它!我可能也会重命名这个变量(
choice
->
choices
)好主意,应该加上它!如果你是Python新手,你可能应该学习Python 3。我大约学习了Udacity.com编程课程的三分之四,他们在用2.7进行教学。如果你是Python新手,你可能应该学习Python 3。我大约学习了Udacity.com编程课程的三分之四,他们在用2.7进行教学。我不想听起来很有必要,但因为你是新来的,我会提醒你,如果有人回答了你的问题,点击帖子旁边的复选标记将答案标记为“答案”是礼貌的。在你的编程冒险中,快乐的旅程!我想我是事先做的。当我这样做的时候,它说我的投票记录下来了,但没有显示出来,因为我的代表分数不到15分。啊,对不起。我忘记了新用户的特权。我不想听起来有必要,但因为你是该网站的新手,我会提醒你,如果有人回答了你的问题,单击帖子旁边的复选标记将答案标记为“答案”是礼貌的。在你的编程冒险中,快乐的旅程!我想我是事先做的。当我这样做的时候,它说我的投票记录下来了,但没有显示出来,因为我的代表分数不到15分。啊,对不起。我忘记了新用户的特权。