当前位置 博文首页 > Python制作简单的剪刀石头布游戏

    Python制作简单的剪刀石头布游戏

    作者:Juni 时间:2021-08-05 18:20

    关于程序相关的

    • 您可以反复玩游戏,直到选择停止为止。
    • 该程序跟踪获胜情况。
    • 大小写无关紧要(即ROCK与Rock相同)。
    • 如果您输入的内容无效,程序会一直提示您,直到您输入有效的内容。

    对项目进行编码的步骤:

    1. 创建一个简单的单轮游戏版本,我们不执行正确的输入。
    2. 如果输入了无效的内容,则添加while循环可重新提示用户输入选择。
    3. 使用while循环让用户反复播放,并使用变量来跟踪得分。

    程序代码

    import random
    
    input("Welcome to Rock, Paper, Scissors! Press Enter to start.")
    print()
    user_wins = 0
    computer_wins = 0
    
    choices = ["rock", "paper", "scissors"]
    
    while True:
     random_index = random.randint(0,2)
     cpu_choice = choices[random_index]
    
     user_choice = input("Rock, Paper, or Scissors? ").lower()
     while user_choice not in choices:
      user_choice = input("That is not a valid choice. Please try again: ").lower()
     
     print()
     print("Your choice:", user_choice)
     print("Computer's choice:", cpu_choice)
     print()
    
     if user_choice == 'rock':
      if cpu_choice == 'rock':
       print("It's a tie!")
      elif cpu_choice == 'scissors':
       print("You win!")
       user_wins+=1
      elif cpu_choice == 'paper':
       print("You lose!")
       computer_wins+=1
     elif user_choice == 'paper':
      if cpu_choice == 'paper':
       print("It's a tie!")
      elif cpu_choice == 'rock':
       print("You win!")
       user_wins+=1
      elif cpu_choice == 'scissors':
       print("You lose!")
       computer_wins+=1
     elif user_choice == 'scissors':
      if cpu_choice == 'scissors':
       print("It's a tie!")
      elif cpu_choice == 'paper':
       print("You win!")
       user_wins+=1
      elif cpu_choice == 'rock':
       print("You lose!")
       computer_wins+=1
    
     print()
     print("You have "+str(user_wins)+" wins")
     print("The computer has "+str(computer_wins)+" wins")
     print()
    
     repeat = input("Play again? (Y/N) ").lower()
     while repeat not in ['y', 'n']:
      repeat = input("That is not a valid choice. Please try again: ").lower()
     
     if repeat == 'n':
      break
    
     print("\n----------------------------\n")
    

    运行效果:

    jsjbwy
    下一篇:没有了