Python3石头剪刀布猜拳游戏

 剪刀、石头、布;这个游戏的主要目的为了解决争议,因为三者相互制约,因此不论平局几次,总会有胜负的时候。游戏规则中,石头克剪刀,剪刀克布,布克石头。

 程序设计:

用户输入,机器随机出拳,系统判断胜负;用户按q或Q退出机制;输入要求限制;五局三胜制;未分出胜负继续比,直到分出胜负程序自行退出;统计双方对战情况。

import random

tip = "请输入一个数字,剪刀:1、石头:2、布:3 q或Q(表示退出游戏)\n"
results = {1:'剪刀',2:'石头',3:'布'}
bout,total_bount = 0,5 #回合计数,总的回合计数默认5局
computer_win,mine_win,same_win = 0,0,0  #电脑赢得回合计数,我赢的回合计数
each_winner,winner = '','' #每一回合的胜利者,最终胜利者
while (bout < total_bount): #5个回合,五局三胜
    bout += 1 #每玩一次回合计数增加1
    input_str = input(tip) #接受用户输入
    if input_str in ['q',"Q"] or (input_str.isdigit() and int(input_str) not in [1,2,3]): #按键q|Q则退出,不是数字或不在1-3范围的都退出
        print('不按规则出拳,取消参赛资格,成绩作废!')
        break
    mine = int(input_str) #输入内容转换
    computer =  random.randint(1,3)  #电脑随机数
    if (computer - mine == -1) or (computer - mine == 2):#我赢的情况
        res = "我"
        mine_win += 1
    if (mine - computer == -1) or (mine - computer == 2):#电脑赢的情况
        res = "电脑"
        computer_win += 1
    if computer == mine : #平局
        res = '平局'
        same_win += 1
    print("第%d回合->电脑:%s,我:%s,本局胜者:%s\n"%(bout,results[computer],results[mine],res)) #回合战果输出

    if(computer_win >= 3): #判断是否电脑赢
        winner = "电脑"
        break
    elif(mine_win >= 3): #判断是否我赢
        winner = "我"
        break
    else:
        if(bout == total_bount):#最后一局还没有分出胜负,则增加一局
            total_bount += 1

print('游戏结束,本场游戏总共%s回合,电脑胜%s回合,我胜%s回合,平局%s,最终胜利者是:%s'%(total_bount,computer_win,mine_win,same_win,winner))

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值