欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python数据分析实习之猜拳游戏

程序员文章站 2022-06-27 14:22:51
猜拳游戏:(by实习老师高老师)1.建立玩家昵称,让玩家可以选择对战的英雄(电脑)2.与选择的英雄进行pk (石头剪刀布)3.显示对战的结果4.退出或者继续涵盖的知识点:if的分支使用循环的使用随机数的使用函数的使用注意:无论案例和问题是否难还是容易,先做步骤的分析自定义函数:存在类中python中函数和方法明确的区别不大函数:def 函数名:函数的执行方式import randomname = '玩家'hero_name = '' #英雄的名字ren_win...
猜拳游戏:(by实习老师高老师)
1.建立玩家昵称,让玩家可以选择对战的英雄(电脑)
2.与选择的英雄进行pk  (石头剪刀布)
3.显示对战的结果
4.退出或者继续

涵盖的知识点:
if的分支使用
循环的使用
随机数的使用
函数的使用
注意:无论案例和问题是否难还是容易,先做步骤的分析
自定义函数:存在类中
python中函数和方法明确的区别不大
函数:
def 函数名:
函数的执行方式

import random

name = '玩家'
hero_name = ''  #英雄的名字
ren_win = 0
com_win = 0
pk_sum = 0


# 1.选择英雄
def selectHero():
    print('============================欢迎来到XXX人机对战===================================')
#     1.变量的形式:全局变量  局部变量
    global name
    # 利用input通过控制台进行输入
    name = input('欢迎召唤师,请输入你的昵称:')
    # 选择对战的英雄  序号
    hero = input('请输入对战的英雄序号:1.盖伦  2.卡莎  3.马儿扎哈  4.安妮')
    # 通过input接收到的所有的变量都是字符串类型
    global hero_name
    if hero == '1':
        print('你选择了盖伦')
        hero_name = '盖伦'
    elif hero == '2':
        print('你选择了卡莎')
        hero_name = '卡莎'
    elif hero == '3':
        print('你选择了马儿扎哈')
        hero_name = '马儿扎哈'
    else:
        print('你选择了安妮')
        hero_name = '安妮'

# 2.进行pk对战
def ren_com_PK():
    global ren_win
    global com_win
    global pk_sum

#     进行pk对战  无限循环
    while True:
        # pk_sum = pk_sum+1
        pk_sum+=1
#         判断手势
        ren_key = int(input('请选择你的手势:1.石头  2.剪刀  3.布'))
        if ren_key == 1:
            print('你选择了石头')
        elif ren_key == 2:
            print('你选择了剪刀')
        else:
            print('你选择了布')
#         电脑选择  使用随机数  需要导入随机数模块  梅森旋转算法  random.random()   0-1
#         random.randint(a,b)  随机生成一个[a,b]之间的随机数  a,b闭区间
#         random.randrange(a,b)  随机列表
        com_key = random.randint(1,3)
        if com_key == 1:
            print('电脑选择了石头')
        elif com_key == 2:
            print('电脑选择了剪刀')
        else:
            print('电脑选择了布')
        if ren_key == 1 and com_key == 2 or ren_key==2 and com_key==3 or ren_key==3 and com_key==1:
            print('你赢了,厉害了我的歌!')
            ren_win+=1
        elif ren_key == com_key:
            print('这把平局')
        else:
            print('你个小垃圾,真菜!')
            com_win+=1
        if pk_sum>5:
            print('本次战斗结束')
            break
# 3.显示结果
def showResult():
    print('===================================XXX对战结果显示==================================')
#     利用格式化输出符号将获取到的数据进行输出并显示
#     %s字符串输出符   %d整型输出符  (%f  %4.2f)
    print('%s一共进行了%d局\n你赢了%d局\n电脑赢了%d\n最终结果:' %(name,pk_sum,ren_win,com_win))
    if ren_win > com_win:
        print('大吉大利,今晚吃X')
    elif ren_win == com_win:
        print('今天平局,来日再站')
    else:
        print('你可真是一个大聪明啊!真棒棒')
# 4.退出或继续
def exits():
#     是否退出?退出按E键,按任意键继续游戏
    k = input('是否退出?退出按E键,按任意键继续游戏')
    if k == 'E':
        print('游戏结束了')
        exit(0)
    else:
        selectHero()
        ren_com_PK()
        showResult()
        exits()
# 继续说明程序没有终止,那么只会执行一次的对战
# main  主函数
if __name__ == '__main__':
    selectHero()
    ren_com_PK()
    showResult()
    exits()

本文地址:https://blog.csdn.net/weixin_45726596/article/details/107341693