簡體   English   中英

我正在做作業,當輸入負數時,此代碼需要打印錯誤消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM