我没有找到满足我需求的答案,或者对我来说很简单,因为我对python来说相对较新!
我有一个标记为难度的变量,要求用户输入一个字符串来说明他们是否想要简单的中等或硬模式。不幸的是我无法成功地让python检查所用单词的输入并给它们我想要的东西,我最终得到了#34;容易没有定义"或"媒介未定义"或者"很难定义。"有没有办法让我解决这个问题?以下是我的代码的一小部分,其中包含以下问题:
difficulty=input("What difficulty do you wish to choose, easy,medium or hard?")
if difficulty==easy:
print("You have chosen the easy mode, your test will now begin")
print("")
elif difficulty==medium:
print("You have chosen the medium mode, your test will now begin")
else:
print("You have chosen the hard mode or tried to be funny, your test
will now begin")
答案 0 :(得分:1)
您正在尝试从用户处获取字符串(input
将返回一个字符串),然后将其与此案例'easy'
或'medium'
中的另一个字符串进行比较。 Here is a link to谷歌开发文章,谈论你可以对python中的字符串做的一些基本的事情。
difficulty = input("What difficulty do you wish to choose, easy,medium or hard?")
if difficulty == 'easy':
print("You have chosen the easy mode, your test will now begin")
print("")
elif difficulty == 'medium':
print("You have chosen the medium mode, your test will now begin")
else:
print("You have chosen the hard mode or tried to be funny, your test will now begin")
当您在代码中放置easy
或medium
时,您告诉python它们是变量(link to python variable tutorial)而不是字符串。在这种情况下,您还没有定义easy
变量,即:easy = 'some data'
。因为你没有定义它python不知道如何处理easy
它会抛出一个错误。
答案 1 :(得分:0)
首先,修复你的缩进(如果它只是在你的例子中不是问题)。其次,您需要将简单,中等和难度放在单'
或双"
引号中:
difficulty=input("What difficulty do you wish to choose, easy,medium or hard?")
if difficulty=="easy":
print("You have chosen the easy mode, your test will now begin")
print("")
elif difficulty=="medium":
print("You have chosen the medium mode, your test will now begin")
else:
print("You have chosen the hard mode or tried to be funny, your test
will now begin")
如果你没有把它们放在引号中,那么你不是要将difficulty
与easy这个词进行比较,而是将其与easy
变量进行比较。这当然会导致错误,因为不存在这样的变量。然而,引号告诉python将easy解释为字符串。