не работает цикл и счетчик
Задача состоит в том, чтобы считать количество введенных до того момента цифр пока пользователь не введет цифру 2. При вводе 2 просто печатает пробел
a = int(input())
b = 0
while a != 2:
b += 1
if a == 2:
print(b)
Ответы (2 шт):
В вашем примере, при запуске скрипта, идет запрос на ввод числа пользователем, которое присваивается переменной a, а далее, в случае, если пользователь введет любое число не равное 2, начинается бесконечный цикл while, т.к. к примеру пользователь вводит 7, цикл проверяет условие 7 != 2, получает True, увеличивает b на единицу и далее снова цикл делает проверку 7 != 2, ведь переменная a не менялась и по прежнему равно 7 и так бесконечно.
Вам нужно что-то типа такого:
a = b = 0
while a != 2:
a = int(input('Введи число - '))
b += 1
print(b)
Можно так:
b = 0
a = int(input('Введи число - '))
while a != 2:
b += 1
a = int(input('Введи число - '))
print(b)
Или можно так:
b = 0
while True:
a = int(input('Введи число - '))
if a == 2:
break
b += 1
print(b)
А можно использовать синтаксис из Python 3.8 ссылка :
b = 0
while a := int(input('Введи число - ')) != 2:
b += 1
print(b)