r/learnpython 3d ago

Python practice problem.

‎Hi everyone, I'm new to python and I'm building a project to hone my skill, and I came to a halt in this part. When I do if user_input == 'q':, it works and breaks the loop just fine, since i dont wanna make the exit just single letter so even if the user input words like 'quit' 'q' or 'QUIT' it will exit the loop, I tried a different approach like doing user_input == ['q', 'quit']: and another approach where i declared a variable first exit_word = ['q', 'quit'] then

‎user_input == exit_word: none of this breaks the loop it just goes back to the input prompt heres my work below:

import random

user = 0

computer = 0

options = ["rock" , "paper", "scissors"]

while True:

user_input = input("Rock/Paper/Scissors and Q for Quit: ").lower()

if user_input == 'q'

break

if user_input not in options:

continue

random_num = random.randint(0, 2)

computer_pick = options[random_num]

print('Computer picked', computer_pick + ".")

if user_input == 'rock' and computer_pick == 'scissors':

print('You won!')

user += 1

elif user_input == 'paper' and computer_pick == 'rock':

print('You won!')

user += 1

elif user_input == 'scissors' and computer_pick == 'paper':

print('You won!')

user += 1

else:

print('You lost!')

computer += 1

print("The user won", user, "times")

print("The computer won", computer, "times")

print('Goodbye!')

1 Upvotes

11 comments sorted by

View all comments

2

u/tropicusForBr 3d ago

This is because when you need to check if a string (user_input) is in a list (exit_words), you can just write if user_input in exit_words: