程序语法错误

时间:2016-06-03 12:29:27

标签: python-3.x pygame syntax-error

我已经开始研究这个应该播放Rock,Paper Scissors的程序了。我尝试了不同的模型,这个是最接近的模型。唯一的问题是它有一个语法错误,我不知道如何修复。

  #Macchiat0
  #3, 6, 2016

  #3. RPS is played between the computer and a single user.
  #The player is prompted for a throw  when 1 corresponds
  #to Rock, 2 to Paper, and 3 to Scissors.
  #A random number between 1 and 3 is generated for the computer throw.
  #The winner is determined based on the rules of Rock Paper and Scissors.

  #Program Menu

  import random
  end_game = True
  while end_game == True:
  print('1. Enter 1 for Rock ')
  print('2. Enter 2 for Paper ')
  print('3. Enter 3 for Scissors ')
  print('4. Quit')
  ans = int(input('What do you want to do?: '))
  if ans=="1":
        print("\n Enter 1 for Rock: ")
        if Player game = 1
        print('You win')
        if Player game = 2
        print('You loose')
        if Player game = 3
        print('You draw')
if ans =="2":
    print("\n Enter 2 for Paper: ")
        if Player game = 1
        print('You win')
        if Player game = 2
        print('You loose')
        if Player game = 3
        print('You draw')
if ans =="3":
    print("\n Enter 3 for Scissors: ")
        if Player game = 1
        print('You win')
        if Player game = 2
        print('You loose')
        if Player game = 3
        print('You draw')
elif ans=="4":
    print("\n Goodbye")
    break
else:
    print("\n Not Valid Choice Try Again")

1 个答案:

答案 0 :(得分:2)

  • 第一个 if 之前和之后的所有行都是2个空格。删除它们。
  • 如果玩家游戏= 1 ,所有类似的-clauses应以结尾:
  • 什么是播放器游戏?符号玩家游戏= 1 没有任何意义。你应该将答案与一些随机值进行比较吗?还应该有==而不是=

只是很少有人注意到。真正的答案是在运行脚本时检查输出。它会告诉你什么是错的。

你的问题不是最好的,所以有人可能因为这样做而挂我...但是,天啊,星期五!你走了:

import random
end_game = False

def intToRPS(i):
    if i == 1:
        return 'Rock'
    elif i == 2:
        return 'Paper'
    elif i == 3:
        return 'Scissors'

    return ''

while end_game == False:
    print('1. Enter 1 for Rock ')
    print('2. Enter 2 for Paper ')
    print('3. Enter 3 for Scissors ')
    print('4. Quit')
    ans = int(input('What do you want to do?: '))
    comp = random.randint(1, 3)

    if ans > 0 and ans < 4:
        msg = 'You chose ' + intToRPS(ans) + ' and computer chose ' + intToRPS(comp)
        print(msg)

    if ans == comp:
        print('Draw')
    elif ans == 1 and comp == 2: #Rock vs Paper
        print('You loose')
    elif ans == 1 and comp == 3: #Rock vs Scissors
        print('You win')
    elif ans == 2 and comp == 1: #Paper vs Rock
        print('You win')
    elif ans == 2 and comp == 3: #Paper vs Scissors
        print('You loose')
    elif ans == 3 and comp == 1: #Scissors vs Rock
        print('You loose')
    elif ans == 3 and comp == 2: #Scissors vs Paper
        print('You win')
    elif ans=="4":
        print("\n Goodbye")
        end_game = True
        break
    else:
        print("\n Not Valid Choice Try Again")
相关问题