使用python在input或simili下放置if和elif语句

2024-06-16 12:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我从https://sololearn.com开始学习python(不知道那是不是一个学习python的好地方,但它看起来很好),我想知道它们是否类似于(这只是一个不识字的例子)

x = input("What is your age\?")
if x > 18:
print("You are welcome")
elif x < 18:
print("You are underaged, try again later")

如果我试着在空闲状态下运行它,似乎会给出一个无效语法的错误。有什么想法吗


Tags: httpscomyouinputageyourifis
3条回答

压痕

Python关心缩进。因此,缩进ifelse语句中的块(对于所有块语句也是如此)

逃避事物

?不需要转义,所以不要转义\\需要在字符串文本中转义,如果您使用的是单引号,那么"'也需要转义(三引号字符串文本不需要转义,除非您在一行中有3个,在这种情况下,转义一个就足够了;不必在""文本中转义',反之亦然)

输入

如果您使用的是python2,那就太好了。如果您使用的是python3,input会给出一个字符串,所以要将x = int(input("..."))转换为int

如果。。。否则

除非在最后一个elif之后有更多语句,否则只需使用else。还有,当x == 18时会发生什么x < 18x > 18都是false,所以什么都不会发生。没有针对18岁用户的消息…:第

最后的代码是这样的:

x = input("What is your age?") # replace with `int(input(...))` in Python 3
if x > 18:
    print("You are welcome")
else:
    print("You are underaged, try again later")

您可能试图在此处将字符串与数字进行比较:

if x > 18:

要解决此问题,请尝试以下方法:

x = int(input("What is your age\?"))
if x > 18:
   print("You are welcome")
elif x < 18:
    print("You are underaged, try again later")

这将确保从输入中获取的数字始终是整数

上面的代码看起来不错,但也取决于python版本。在Python2.x中,input()尝试将用户输入求值为适当的数据类型,但在Python3.x中,input()的工作方式与Python2.x中的raw\u input()类似,即它接受字符串并保持这种方式。因此,如果您尝试将字符串与int进行比较以检查条件,则它将失败

此外,请记住,缩进是非常重要的,如果不在正确的顺序可能会导致错误。试着用其中一个或两个来保持简单

相关问题 更多 >