Ваша первая проблема здесь:
inum = int(snum)
largest = max(snum)
smallest = min(snum)
Вы конвертируете пользовательское значение (которое всегда появляется в виде строки) в целое число и сохраняете его в inum
. Но тогда вы звоните max
и min
с исходным строковым значением, а не с номером.
Ваша вторая проблема в том, что вы проверяете только один номер за раз - snum
всегда заполняется самым последним номером, а другие номера забываются.
Вам необходимо сохранить каждый введенный номер в списке, а затем вызвать max
и min
в списке в целом.
Вот потенциальное решение:
num_list = []
while True:
user = input("Enter a number: ")
if user == "done":
break
try:
inum = int(user)
num_list.append(inum)
except:
print("Invalid input!")
print("The largest number was", max(num_list))
print("The smallest number was", min(num_list))