python中if的问题

2024-05-01 21:48:54 发布

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

嘿,刚刚开始学习python,已经有一些问题了 我用if语句编写了一个代码,它应该可以工作,但是不工作 有人能修好它告诉我我做错了什么吗?你知道吗

x= raw_input("Enter your name: ")
y= raw_input("Enter your grade: ")
print(y)
if y>=50 and y<=100:
    print("Good input")
else:
     print ("Invaild input")

它总是打印无效的输入 谢谢!你知道吗


Tags: and代码nameinputyourrawif语句
3条回答

raw_input()函数等待用户输入数据,它类似于C中的scanf()函数,但您输入的数据存储为字符串,因此我们需要转换为我们指定的形式,如整数、浮点等

例如:y = raw_input("Enter data");

要将数据转换成整数,我们需要使用

y = int(y)

以类似的方式,我们可以转换成不同的数据类型

必须将输入转换为整数,方法是将其放入^{}

x= raw_input("Enter your name: ")
################
y= int(raw_input("Enter your grade: "))
################
print(y)
if y>=50 and y<=100:
    print("Good input")
else:
    print ("Invaild input")

记住raw_input总是返回一个字符串。因此,在if语句中,将字符串与整数进行比较。这就是为什么它不起作用。你知道吗

实际上,每当我需要打印一条或另一条消息时,我喜欢把它放在一行上(当然,除非消息很长):

print("Good input" if 50 <= y <= 100 else "Invaild input")

做一个完整的if-else块似乎有点过分了。你知道吗

raw_input()返回一个字符串,但您正在将xy与整数进行比较。你知道吗

比较前将y转换为整数:

y = int(y)
if y >= 50 and y <= 100:

您可以使用链接稍微简化比较,让您内联int()调用:

if 50 <= int(y) <= 100:

相关问题 更多 >