#๐Ÿ”’ "while" loop not working

8 messages ยท Page 1 of 1 (latest)

ancient elk
#

I'm not sure why is this code not working. As far I'm aware this should be working once I type Patata Patooti.

username = input("Username: ").title

while not username == "Patata Patooti":
    print("Wrong username. Please try again.")
    username = input("Username: ").title
print(f"Welcome {username}!")```
copper ridgeBOT
#

@ancient elk

Python help channel opened

Remember to:

  • Ask your Python question, not if you can ask or if there's an expert who can help.
  • Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
  • Explain what you expect to happen and what actually happens.

:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.

ancient elk
#

It does works but even if I type Patata Patooti, the loop continues

lunar narwhal
#

and if you want case insensitive matching i would recommend to use something like

username = input("Username: ")

while username.casefold() != "Patata Patooti".casefold():
    print("Wrong username. Please try again.")
    username = input("Username: ")
print(f"Welcome {username}!")
#

and to remove the need for repeating the code line for the input, here is a perfect place to use the walrus operator that we mentioned previously
it's then condensed down to

while (username := input("Username: ")).casefold() != "Patata Patooti".casefold():
    print("Wrong username. Please try again.")
print(f"Welcome {username}!")
copper ridgeBOT
#
Python help channel closed

This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.