Когда вы делаете for x in some_string
, x
зацикливается на каждом символе в строке.
Так что если ваш userInput
равен "hi"
,
В первом цикле, x
равен "h"
поэтому он находится в "hi"
.
Во втором цикле x
равен "i"
, поэтому он также находится в "hi"
.
, поэтому он будет печататься два раза. Если ваши greetings
и userInput
имеют одинаковую строку с n
буквами, она будет напечатана n
раз.
Я думаю, вы пытаетесь это сделать.
cleanHello = 'you asked about clean hello'
greetings = ['hi'] # add more greetings if needed
def main():
while True:
try:
userInput = input('user: ')
if userInput in greetings:
print(cleanHello)
except(KeyboardInterrupt, EOFError, SystemExit):
break
main()
Это печатает cleanHello
, если userInput является одним из приветствий.