栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

(学Python的第三天)人机猜拳游戏--三局两胜制

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(学Python的第三天)人机猜拳游戏--三局两胜制

        看完了觉得有用的话,麻烦各位老爷点个赞~        

        刚好学习到分支和循环这部分,然后我看着视频里老师写的猜拳游戏有点小bug,然后我索性就重写了一遍,加上了一些功能。

        话不多说,先放运行结果图。

 实现的功能:

1、三局两胜制

2、电脑随机出拳,玩家手动输入

3、判断玩家输入的数据是否合法,合法则继续,不合法则给出提示信息,且本局不算,重来

4、显示出拳信息,判断单局胜负

5、计算净胜局数,判断最终胜负

以下是具体的代码(我写上了详细的注释):

"""
人机猜拳游戏(三局两胜)
1、0-剪刀,1-石头,2-布
2、玩家的选项需要手动输入,电脑自动生成选项
3、判断玩家输入的选项是否合法,合法则继续,不合法则本局不算,重来
4、最后需要判断本次游戏的最终赢家是谁,并显示出来
"""

#导入random模块
import random

# 建立一个变量,存储循环的增量
i = 0
# 建立一个序列,存储剪刀石头布
wz = ['剪刀', '石头', '布']
# 建立一个变量,存储玩家的净胜局数,玩家胜则win+1,电脑胜则win-1,平局不变
win = 0

while i < 3:
    # 因为后面在判断输入是否合法和平局的时候会把增量-1,所以我把增量放到这里来写
    i += 1
    print(f"----------- 第{i}局 -----------")
    # 建立一个变量,存储玩家的选项
    x = input("请出拳(0-剪刀,1-石头,2-布):")
    # 建立一个变量,存储电脑的选项,使用random.randint()函数在0,1,2中随机一个数
    computer = random.randint(0, 2)
    # 判断玩家的输入是否合法,合法则继续,不合法则本局不算,重来
    if not(x.isdigit()):  # 判断玩家输入的是否是数字
        print("您的输入不合法,请输入数字。本局不算,请重来")
        i -= 1
        continue
    elif not(int(x) in range(0, 3)):  # 判断玩家输入的是否是0,1,2这三个数字
        print("您的输入不合法,请重来(0 - 剪刀,1 - 石头,2 - 布)")
        i -= 1
        continue
    else:
        player = int(x)
    print(f"您出的是{wz[player]},电脑出的是{wz[computer]}。")
    if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
        print("玩家胜。")
        win += 1
    elif player == computer:
        print("平局,再来一局。")
        i -= 1
    else:
        print("电脑胜。")
        win -= 1
else:
    print("----------- 游戏结果 -----------")
    if win > 0:
        print(f"您的净胜局数是:{win}。n恭喜你,获得了最后的胜利。")
    else:
        print(f"您的净胜局数是:{win}。n抱歉,您最后失败了。")

第一次写文章,如有bug欢迎指正,谢谢!!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/587598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号