У меня есть программа, которая comminucate с пользователем. Я беру данные от пользователя с input()
, но, я хочу сказать пользователю, например, если пользователь вводит ругательство, я хочу напечатать You are swearing! Delete it immediately!
, а пользователь печатает.Как подключить функцию ввода(), когда вход() находится в движении
Как вы знаете, во-первых, Python ждет до input()
. Моя цель - доступ к input()
, прежде чем это будет сделано, тогда я смогу напечатать You are swearing! Delete it immediately!
во время ввода пользователем.
В моей программе слишком много диктов и функций, поэтому я собираюсь написать пример, имеющий отношение к моей основной проблеме.
print ("Let's talk..")
isim=input("What's your name?: ")
print ("Hi there {}.".format(isim))
no=["badwords","morebadwords"]
while True:
user=input(u">>>{}: ".format(isim)).lower()
for ct in user.split():
if ct in no:
print ("You are swearing! Delete it immediately! ")
Но это не работает, потому что Python ждет первый пока user
вход не будет сделано. Как я могу это сделать пока пользователь печатает? -Python 3.4, Windows-
Я думаю, это поможет вам. http://stackoverflow.com/questions/510357/python-read-a-single-character-from-the-user – eran
Это не так просто, потому что нет встроенного способа получения штрихов по терминал/командная строка. Кроме того, вы подходите неправильно, потому что он запретил бы вводить такие слова, как «актив», потому что он начинается с осла ... это может быть исправлено, но, в конце концов, я бы не стал беспокоиться. Потому что я бы просто использовал $$, и все будет сделано. Если то, что вы хотите, может быть сделано, кто-то будет миллиардером из-за ее идеального фильтра спама ...;) – deets
@eran Я не знаю, как использовать это в конкретном списке и как поместить его в мою программу. Честно говоря, первый раз я вижу такой класс. –