2016-07-28 40 views
-1
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) 

我要那么它只接受整数限制用户的输入从0到90如何验证基于条件的数据

回答

0

如果你是想限制总和变量,你的代码结束你可以简单地把一个if语句检查该变量的边界内..

if sum > 90: 
    sum = 90 
elif sum < 0: 
    sum = 0 
+0

虽然这可能会起作用,但如果用户无意中将分数置于0到90的范围之外,该怎么办?反复询问用户更安全。 – Jerrybibo

+0

这一切都取决于代码的目的是什么,提问者没有提供太多的信息。我确实看到您的建议可能是用户在询问时的意思。 – Luke

+0

有效的点。 @Luke – Jerrybibo

1

用户的输入为0限制到90,你将需要反复要求用户重新输入数据,直到它符合0至90的标准。如果符合标准,您可以通过执行while循环,然后执行break来实现。这里的代码:

# 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.") 

希望这可以帮助。

0

下面的代码将确保用户输入指定范围内的数量:

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) 

这将确保变量ab,和c是0-90之间。

+0

谢谢,我会编辑它 – pjcognetta