【问题标题】:Python cant recognize the if - Statement [duplicate]Python无法识别if - 语句[重复]
【发布时间】:2018-02-16 10:52:06
【问题描述】:

我是编码方面的新手,我从 Python 开始了解如何编码。 我将编写一个简单的测验,用户可以在其中选择他们想要玩的测验。 我做了 input() ,但它没有进入 if - 语句。 代码:

import quiz1
import quiz2
import quiz3
import quiz4

quiz = input("Please choose which Quiz you want to play (1-4): ")
print(quiz)

if quiz == 1:
        quiz1
        #f1 = open(fragebogen1.py)
        #print(f1)
elif quiz == 2:
        print("hello")
elif quiz == 3:
        print("hello")
elif quiz == 4:
        print("hello")

提前致谢

【问题讨论】:

  • input() 返回一个字符串。您正在将该字符串与一个整数进行比较,并且该检查永远不会是True。检查if quiz == '1'

标签: python python-3.x if-statement input


【解决方案1】:

input 函数返回一个字符串。您需要将用户的输入转换为整数:

quiz = int(input("Please choose which Quiz you want to play (1-4): "))

【讨论】:

    【解决方案2】:

    在检查之前将输入转换为整数

    if int(quiz) == 1:
    

    【讨论】:

    • 检查字符串会更好。 int(quiz) 可以引发错误,if quiz == '1': 不能 + 你在这里实际上不需要整数;没有做任何数学运算。
    • 我可以知道为什么吗?
    • 如果您要包装输入,您可能应该在收到输入时执行此操作(即quiz = int(input("..."))),否则您需要为每个elif 执行此操作
    • 我测试了两个,但没有解决问题我想说python“嘿打开另一个文件“quiz1”并阅读它”在我写了一个从 1 到 4 的数字后,它只是把它写下来并停止
    【解决方案3】:

    无法访问elif == 1,因为您在上面输入了if quiz == 1。 相反,您需要输入elif quiz == 2:

    【讨论】:

    • 虽然这是真的,但这并不能解决 OP 提出的问题,所以这应该是一个评论
    • 确实如此,但我还不能评论,所以我在这里添加了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2020-02-25
    • 2017-09-05
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    相关资源
    最近更新 更多