Я новичок в кодировании на Python, и я пытаюсь написать цикл, который запрашивает числовой ввод и читает его до тех пор, пока пользователь не введет «готово», после чего он выйдет из цикла и распечатает переменные: число, количество и средний. (не пытаясь сохранить что-либо в списке)
Я также хочу, чтобы он печатал «недопустимый ввод» и продолжал цикл, если пользователь вводит что-то, что не является целым числом, если только это не «сделано».
К сожалению, он возвращает «неверный ввод» и продолжает зацикливаться, даже когда я ввожу «готово». Что я делаю не так? Может ли кто-нибудь указать мне в правильном направлении?
number = 0
count = 0
avg = 0
inp = 0
while True:
try:
inp = int(raw_input('Enter a number: '))
if inp is 'done':
number = number + inp
count = count + 1
avg = float(number/count)
break
except:
print 'Invalid input'
print number
print count
print float(avg)
int(something)
может когда-либо равняться'done'
????? И если чудесным образомinp
станет'done'
, чего же вы надеялись достичь с помощьюnumber = number + inp
????? - person barak manos   schedule 17.10.2014except
без перехвата определенного исключения может затруднить отладку кода. - person mechanical_meat   schedule 17.10.2014