2016-07-28 54 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