嘿,刚开始学习 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")
它总是打印无效输入谢谢!
嘿,刚开始学习 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")
它总是打印无效输入谢谢!
raw_input()
返回一个字符串,但您正在x
与y
整数进行比较。
比较前转y
成整数:
y = int(y)
if y >= 50 and y <= 100:
您可以使用链接简化比较,让您内联int()
调用:
if 50 <= int(y) <= 100:
您必须通过将输入转换为整数int
:
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()
函数等待用户输入数据,它类似于scanf()
C中的函数。但是您输入的数据存储为字符串,因此我们需要转换为我们指定的形式,如整数,浮点数等
前任:y = raw_input("Enter data");
将数据转换为我们需要使用的整数
y = int(y)
以类似的方式我们可以转换成不同的数据类型
您已将其转换为int
. raw_input
给你一个字符串。
x= raw_input("Enter your name: ")
y= raw_input("Enter your grade: ")
print(y)
if 50 <= int(y) <= 100:
print("Good input")
else:
print ("Invaild input")
但是如果用户没有输入数字怎么办,那么你需要添加一个 Try-Except 块:
x = raw_input("Enter your name: ")
y = raw_input("Enter your grade: ")
print(y)
try:
if 50 <= int(y) <= 100:
print("Good input")
else:
print ("Invaild input")
except ValueError:
print "You did not enter a number for your grade"