Программа не работает без дополнительного нажатия enter
Осваиваю питон и столкнулся с такой проблемой при использовании конструкции while True, if not s: break, else Часть кода после else выполняется только при дополнительном нажатии enter, а как избавиться от этого?
d = {}
while True:
s = input()
if not s:
break
else:
s = s.split(' ')
s = ''.join(s)
ss = s.split(',')
ss = list(ss)
for el in ss:
d[el] = d.get(el, 0) + 1
print(d)
Ответы (1 шт):
Команда input() нужна для того, чтобы пользователь мог ввести свои данные прямо в консоль, а не изменять код каждый раз. После ввода данных, чтобы подтвердить ввод, нужно нажать Enter.
Что касается кода, то как я понял в блоке else вы сначала удаляете пробелы, а потом и запятые. Не понятно зачем. Вам следует также показать пример данных, которые вы пытаетесь обрабатывать. Пока вы не предоставите их вам будет трудно помочь, хотя у вас вообще проблема в другом.
Строки:
s = s.split(' ')
s = ''.join(s)
можно заменить на:
s = s.replace(' ', '')
Строка:
ss = list(ss)
совершенно бесполезна. Метод split() и так возвращает список.
Больше ничего сказать не могу, пока вы не предоставите пример того, в каком виде у вас вводятся данные.