Назначение функции списка не работает - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь решить простую проблему. Введите три числа и найдите среднее из двух самых больших.

while True:
    try:
        n1 = int(input("Enter n1: "))
        n2 = int(input("Enter n2: "))
        n3 = int(input("Enter n3: "))
    except ValueError:
        print ("Enter an integer: ") 
        continue
    else:
        break
mylist = [n1,n2,n3]
mylist.remove(min(mylist))
print (float(sum(mylist))/2)

Почему это не работает? Если я удалю присвоение n_avg и сохраню последние две строки кода, как показано ниже, это сработает. Может кто-нибудь объяснить, почему?

mylist.remove(min(mylist))
print (float(sum(mylist))/2)

1 Ответ

0 голосов
/ 05 января 2019

Я хотел бы поделиться чуть более чистым кодом.

mylist = []
while len(mylist) < 3:
    try:
        mylist.append(int(input("Enter a number:")))
    except ValueError:
        print ("Please enter an integer") 

mylist.remove(min(mylist))
print (sum(mylist)/2.)

Работает как положено.

...