Python3 взрывает код, всегда стараюсь не исключать - PullRequest
0 голосов
/ 11 июля 2020

код работает нормально, если я сначала ввожу несколько чисел, но взрывается, если я начинаю с «готово» - но я думал, что if len (numlist)> 0 поймает это? Также взрывается except?

numlist = list()
while True:
    inp = input("Enter a number\n")
    try:
        value = float(inp)
        numlist.append(value)
        if inp == "done":
            break
    except:
        print("This is not a number")
        continue

if len(numlist) > 0:
    avarage = sum(numlist) / len(numlist)
    print(avarage)
else:
    print("just done")

1 Ответ

1 голос
/ 12 июля 2020

Возможно, вы разместили if inp == "done" неправильно. У меня это отлично работает:

def main():
    numlist = []
    while True:
        inp = input("Enter a number: ")
        if inp == "done":
            break
        try:
            value = float(inp)
            numlist.append(value)
        except:
            print("This is not a number")
            continue
    if len(numlist) > 0:
        average = sum(numlist) / len(numlist)
        print(average)
    else:
        print("Just done")

if __name__ == '__main__':
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...