Python 如何根据条件验证数据

Python 如何根据条件验证数据,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我想限制用户的输入,这样它只接受0到90之间的整数。如果您想限制sum变量,只需在代码末尾放一个If语句,检查变量是否在边界内即可 a = int(input("Enter mark of BIOLOGY: ")) b = int(input("Enter mark of CHEMISTRY: ")) c = int(input("Enter mark of PHYSICS: ")) sum = a + b + c x = sum y = 3 avg = x / y print("To

我想限制用户的输入,这样它只接受0到90之间的整数。

如果您想限制sum变量,只需在代码末尾放一个If语句,检查变量是否在边界内即可

a = int(input("Enter mark of BIOLOGY: "))
b = int(input("Enter mark of CHEMISTRY: ")) 
c = int(input("Enter mark of PHYSICS: ")) 
sum = a + b + c 
x = sum 
y = 3 
avg = x / y
print("Total marks = ", sum) 
print("Average marks = ", avg)
如果总和>90:
总和=90
elif总和<0:
总和=0

要将用户的输入限制在0到90,您需要反复要求用户重新输入数据,直到数据满足0到90的标准。您可以通过实现
while
循环,然后
break
来实现这一点,前提是满足条件。代码如下:

if sum > 90:
    sum = 90
elif sum < 0:
    sum = 0
#变量“a”的数据验证
尽管如此:
a=int(输入(“输入生物学标记:”)

如果0以下代码将确保用户输入指定范围内的数字:

# Data validation for the variable "a"
while True:
    a = int(input("Enter mark of BIOLOGY: "))
    if 0 <= a <= 90:
         break
    else:
         print("The mark is not between 0 and 90. Please enter a new mark.")
为True时:
a=int(输入(“输入生物学标记=”))

如果为0,尽管这可能有效,但如果用户无意中将分数置于0到90的范围之外,该怎么办?反复询问用户imho更安全。这完全取决于代码的用途,询问者没有提供太多信息。我确实看到你的建议很可能是用户提问时的意思。
while True:
    a = int(input("enter mark of BIOLOGY = "))
    if 0 <= a <= 90:
        break
    else:
        print("Invalid mark. Please try again.")

while True:
    b = int(input("enter mark of CHEMISTRY = "))
    if 0 <= b <= 90:
        break
    else:
        print("Invalid mark. Please try again.")

while True:
    c = int(input("enter mark of PHYSICS = "))
    if 0 <= c <= 90:
        break
    else:
        print("Invalid mark. Please try again.")

sum = a + b + c 
x = sum 
y = 3 
avg = x / y
print("total marks = ", sum) 
print("average marks = ", avg)