[英]I am doing a homework and this code need to print an error message when a negative number is inputted
該程序必須打印輸入的平均值、最高、最低和總數,但是當輸入為負數時,如何使代碼打印錯誤消息時遇到了問題。 出於某種原因,我找不到方法我不知道是我太笨還是什么
Days = []
day1 = int(input("Enter day 1 rainfall: "))
day2 = int(input("Enter day 2 rainfall: "))
day3 = int(input("Enter day 3 rainfall: "))
day4 = int(input("Enter day 4 rainfall: "))
day5 = int(input("Enter day 5 rainfall: "))
day6 = int(input("Enter day 6 rainfall: "))
day7 = int(input("Enter day 7 rainfall: "))
day8 = int(input("Enter day 8 rainfall: "))
day9 = int(input("Enter day 9 rainfall: "))
day10=int(input("Enter day 10 rainfall: "))
Days.extend((day1, day2, day3, day4, day5, day6, day7, day8, day9, day10 ))
def lowest():
print('The minimum rainfall is', min(Days))
lowest()
def highest():
print('The most rainfall is', max(Days))
highest()
def total():
print('The total rainfall is', sum(Days))
total()
def average():
print('The average rainfall is', float(sum(Days))/len(Days))
average()
我會將您要求用戶輸入的語句放入循環中,在循環中您可以檢查數字是否為負數,如下所示:
Days = []
for count in range(1, 11):
day = int(input("Enter day " + count + " rainfall: "))
if day < 0:
print("Error")
# You can handle the error here
Days.append(day)
def lowest():
print('The minimum rainfall is', min(Days))
lowest()
def highest():
print('The most rainfall is', max(Days))
highest()
def total():
print('The total rainfall is', sum(Days))
total()
def average():
print('The average rainfall is', float(sum(Days))/len(Days))
average()
假設您需要 10 個輸入,如果用戶輸入錯誤,您希望從用戶那里重新輸入該輸入。
Days = []
while True:
day = int(input(f"Enter day {len(Days)+1} rainfall: "))
if day < 0:
print("Invalid Input")
continue
Days.append(day)
if len(Days) == 10:
break
def lowest():
print('The minimum rainfall is', min(Days))
def highest():
print('The most rainfall is', max(Days))
def total():
print('The total rainfall is', sum(Days))
def average():
print('The average rainfall is', float(sum(Days))/len(Days))
lowest()
highest()
total()
average()
自動化方式
Days = []
days_dict ={}
for days in range(1,11):
day = int(input(f"Enter day {days} rainfall "))
if day <0:
while True:
print("Days cannot be negative")
day = int(input(f"Enter day {days} rainfall: "))
if day >=0:
break
days_dict[f"day_{days}"] = day
Days.extend([v for k,v in days_dict.items()])
def lowest():
print('The minimum rainfall is', min(Days))
lowest()
def highest():
print('The most rainfall is', max(Days))
highest()
def total():
print('The total rainfall is', sum(Days))
total()
def average():
print('The average rainfall is', float(sum(Days))/len(Days))
手動方式
Days = []
day1 = int(input("Enter day 1 rainfall: "))
if day1 <0:
while True:
print("Days cannot be negative")
day1 = int(input("Enter day 1 rainfall: "))
if day1>=0:
break
day2 = int(input("Enter day 2 rainfall: "))
if day2 <0:
while True:
print("Days cannot be negative")
day2 = int(input("Enter day 2 rainfall: "))
if day2>=0:
break
day3 = int(input("Enter day 3 rainfall: "))
if day3 <0:
while True:
print("Days cannot be negative")
day3 = int(input("Enter day 3 rainfall: "))
if day3>=0:
break
day4 = int(input("Enter day 4 rainfall: "))
if day4 <0:
while True:
print("Days cannot be negative")
day4 = int(input("Enter day 4 rainfall: "))
if day4>=0:
break
day5 = int(input("Enter day 5 rainfall: "))
if day5 <0:
while True:
print("Days cannot be negative")
day5 = int(input("Enter day 5 rainfall: "))
if day5 >=0:
break
day6 = int(input("Enter day 6 rainfall: "))
if day6 <0:
while True:
print("Days cannot be negative")
day6 = int(input("Enter day 6 rainfall: "))
if day6 >=0:
break
day7 = int(input("Enter day 7 rainfall: "))
if day7 <0:
while True:
print("Days cannot be negative")
day7 = int(input("Enter day 7 rainfall: "))
if day7 >=0:
break
day8 = int(input("Enter day 8 rainfall: "))
if day8 <0:
while True:
print("Days cannot be negative")
day8 = int(input("Enter day 8 rainfall: "))
if day8 >=0:
break
day9 = int(input("Enter day 9 rainfall: "))
if day9 <0:
while True:
print("Days cannot be negative")
day9 = int(input("Enter day 9 rainfall: "))
if day9 >=0:
break
day10=int(input("Enter day 10 rainfall: "))
if day10 <0:
while True:
print("Days cannot be negative")
day10 = int(input("Enter day 10 rainfall: "))
if day10 >=0:
break
Days.extend([day1, day2, day3, day4, day5, day6, day7, day8, day9, day10 ])
def lowest():
print('The minimum rainfall is', min(Days))
lowest()
def highest():
print('The most rainfall is', max(Days))
highest()
def total():
print('The total rainfall is', sum(Days))
total()
def average():
print('The average rainfall is', float(sum(Days))/len(Days))
average()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.