简体   繁体   中英

The terminal says that computer_choice doesn’t exist even though it does

WHile I was attempting a simple rock, paper scissors, I ran into this proble. When I execute the file and input the user_input, it says to me that the variable computer_choice doesn't exist, even though it does exist. I would appreciate if someone could help me, thank you.

import random

user_wins = 0
computer_wins = 0

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

while True:
  user_input = input("Type Rock/Paper/Scissors or Q to quit. ").lower()
  if user_input == "q":
    break
  if user_input not in options:
    continue

    random_number = random.randint (0, 2)

    computer_choice = options[random_number]
    
    print ("The computer picked:", computer_choice + ".")

  if user_input == "rock" and computer_choice == "scissors" :
    print("You Won!")
    user_wins += 1
    continue

  elif user_input == "scissors" and computer_choice == "paper" :
    print("You Won!")
    user_wins += 1
    continue

  elif user_input == "paper" and computer_pick == "rock" :
    print("You Won!")
    user_wins += 1
    continue  

  else:
    print("You Lost!")
    computer_wins += 1
    continue
    
print("You won", user_wins,"times and the computer won", computer_wins, "times.")
print("Goodbye")

You have to be careful with indentation when using python:

import random

user_wins = 0
computer_wins = 0

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

while True:
    user_input = input("Type Rock/Paper/Scissors or Q to quit. ").lower()
    if user_input == "q":
        break
    if user_input not in options:
        continue
        # not at this level

    # at this level
    random_number = random.randint(0, 2)

    computer_choice = options[random_number]

    print("The computer picked:", computer_choice + ".")

    if user_input == "rock" and computer_choice == "scissors":
        print("You Won!")
        user_wins += 1
        continue

    elif user_input == "scissors" and computer_choice == "paper":
        print("You Won!")
        user_wins += 1
        continue

    elif user_input == "paper" and computer_choice == "rock": #not computer_pick
        print("You Won!")
        user_wins += 1
        continue

Also you wrote computer_pick in line 31, probably you mean computer_choice

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM