Cześć wszystkim, więc jestem nowy i wypróbowuję pętle w Pythonie, proszę, ciągle powielam swój wynik, dlaczego tak jest?
cleanHello = 'you asked about clean hello'
greetings = 'hi'
def main():
while True:
try:
userInput = input('user: ')
for x in userInput:
if x in greetings:
print(cleanHello)
except(KeyboardInterrupt, EOFError, SystemExit):
break
main()
2 odpowiedzi
Kiedy to zrobisz for x in some_string
, x
zapętla każdy znak w ciągu.
Więc jeśli Twoim userInput
jest "hi"
,
W pierwszej pętli x
to "h"
, więc jest w "hi"
.
W drugiej pętli x
to "i"
, więc jest również w "hi"
.
Więc wydrukuje dwa razy. Jeśli twoje greetings
i userInput
to ten sam ciąg z n
literami, wydrukuje n
razy.
Myślę, że próbujesz to zrobić.
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()
To wypisuje cleanHello
, jeśli userInput jest jednym z powitań.
for x in userInput:
if x in greetings:
...
Iterujesz po każdym znaku wprowadzanym przez siebie i sprawdzasz, czy ten pojedynczy znak jest w pozdrowieniach lub „cześć”.
Możesz próbować to zrobić:
cleanHello = 'you asked about clean hello'
greetings = 'hi'
def main():
while True:
try:
userInput = input('user: ')
if greetings in userInput:
print(cleanHello)
except(KeyboardInterrupt, EOFError, SystemExit):
break
main()
Jeśli wpiszesz „przywitaj się”, sprawdzi, czy we wpisanym tekście znajduje się „cześć”, a następnie wydrukuje cleanHello.
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.