Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game

第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game

  • 前言
  • 实践

前言

我们这一节的内容主要是对前边学习内容的一个综合应用,以石头,剪刀,布游戏为例讲解列表、随机数、用户输入、字符串操作、循环结构、选择分支、判断表达式等相关知识。如果你能独立完成本节编程内容,说明对前边的学习有了一个很好的掌握。

实践

我们的项目需求为:电脑随机选择剪刀石头布中的一个选项,用户自己输入一个作为自己的选择,然后比较电脑的选择结果与用户的选择结果判断输赢。如果用户输入错误,那就让用户一直输入,直到输入正确的选项为止。同时用户还可以决定是否停止游戏。我们先给出代码,然后逐步分析:

import random

# 石头,布,剪刀
choices = ["rock", "paper", "scissors"]
print("Let's begin the game!")
while True:
    computer = random.choice(choices)
    user = input("Please input rock, paper, or scissors: ").lower()
    while user not in choices:
        user = input("Please input rock, paper, or scissors: ").lower()
    print("The choice of the computer: {}".format(computer))
    print("The choice of the user: {}".format(user))
    if user == computer:
        print("Just so so!")
    if user == "rock":
        if computer == "paper":
            print("You lose")
        elif computer == "scissors":
            print("You win!")
    if user == "paper":
        if computer == "scissors":
            print("You lose")
        elif computer == "rock":
            print("You win!")
    if user == "scissors":
        if computer == "rock":
            print("You lose")
        elif computer == "paper":
            print("You win!")
    go_on = input("Do you want to play again? (Yes/No): ").lower()
    if go_on != "yes":
        break
>>> Let's begin the game!

>>> Please input rock, paper, or scissors: dasdsad

>>> Please input rock, paper, or scissors: asdasd

>>> Please input rock, paper, or scissors: Rock
>>> The choice of the computer: paper
>>> The choice of the user: rock
>>> You lose

>>> Do you want to play again? (Yes/No): yes

>>> Please input rock, paper, or scissors: Paper
>>> The choice of the computer: rock
>>> The choice of the user: paper
>>> You win!

>>> Do you want to play again? (Yes/No): No

为了保证电脑选择的随机性,我们需要导入random模块。
因为一共三种选择,所以我们需要定义列表存放选项,列表中的元素表示剪刀,石头,布。
打印游戏开始信息。
由于需要反复执行游戏,所以我们需要用while循环结构。
首先让电脑从列表中选择一个作为自己的选项。
用户需要借助于键盘的输入,为了便于电脑判断,我们统一转为小写。
若用户输入结果不在列表内,需要让其反复输入,直到输入正确选项为止。
分别打印用户和电脑的选择结果。将用户的选项与电脑选项做比较并给出判断结果。
用户输入Yes/No来选择是否继续游戏。

以上便是石头剪刀布游戏的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍问答游戏(Quiz Game),敬请期待~

你可能感兴趣的:(python编程基础,python,游戏,编程语言)