Вопрос Какая здесь может быть ошибка? python

Регистрация
15 Дек 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
pos = 0

neg = 0

n = 1

while n != 0:

n = int(input("Введите оценку: "))

if n > 0:

pos += 1

if n < 0:

neg += 1

if n == 0:

break

print('Кол-во положительных оценок: ', pos)

print('Кол-во отрицательных чисел:', neg)
 
Пожалуйста имейте ввиду, что этот пользователь забанен
IndentationError
 
pos, neg, n = 0, 0, 1
while n != 0:
n = (input("Введите оценку: "))
if n.lstrip('-').isdigit():
n = int(n)
if n == 0: break
elif n > 0: pos += 1
else: neg += 1
print(f"Кол-во положительных оценок: {pos}", f"Кол-во отрицательных оценок: {neg}", sep="\n")
 
n = None
while n != 0:
try:
n = int(input("Введите оценку: "))
except ValueError:
print("Введите целое число.")
continue

if n > 0:
pos += 1
elif n < 0:
neg += 1
else:
break

print('Кол-во положительных оценок: ', pos)
print('Кол-во отрицательных чисел:', neg)
Если пользователь вводит нецелочисленное значение, программа вызывает исключение ValueError. Чтобы предотвратить это, можно обернуть функцию input () в блок try-except, чтобы перехватывать исключение и просить пользователя ввести допустимое целое число.
 
Назад
Сверху