当前位置:   article > 正文

python实现剪刀石头布_python石头剪刀布

python石头剪刀布

任务陈述

设计一款简单的(非GUI)的剪刀、石头、布的游戏,游戏规则:
i. 一共最多进行n(推荐奇数)次游戏,其中n为用户可选参数;
ii. 在用户在剪刀、石头、布中做出选择后,电脑即时做出电脑的选择;
iii. 游戏需要公平;
iv. 游戏第一次决出胜负即停止游戏,并输出优胜玩家;

实现步骤

  1. 导入random包,并定义电脑能够选择的选项和胜负次数,以及限定最多游戏局数。
import random
choice=["石头","剪刀","布"]
win=0
lose=0
nb=int(input("限定局数(推荐为奇数)"))
  • 1
  • 2
  • 3
  • 4
  • 5

2.通过for循环执行剪刀石头布,并通过判断语句if来判断回合的胜负。

for i in range(nb,0,-1):
    root=input("石头、剪刀、布任选其一:")
    print("用户选择:",root)
    cpt=random.choice(choice)
    print("电脑选择:",cpt)
    if root=="石头" and cpt=="布":
        lose=lose+1
        print("这一把您输了!")
    elif root=="石头" and cpt=="剪刀":
        win=win+1
        print("这一把您赢了")
    elif root=="石头" and cpt=="石头":
        print("这一把平局")
    elif root=="剪刀" and cpt=="布":
        win=win+1
        print("这一把您赢了")
    elif root=="剪刀" and cpt=="剪刀":
        print("这一把平局")
    elif root=="剪刀" and cpt=="石头":
        lose=lose+1
        print("这一把您输了")
    elif root=="布" and cpt=="布":
        print("这一把平局")
    elif root=="布" and cpt=="剪刀":
        lose=lose+1
        print("这一把您输了")
    elif root=="布" and cpt=="石头":
        win=win+1
        print("这一把您赢了")
        if win==(nb//2)+1:
            break
        elif lose==(nb//2)+1:
        break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

3.输出用户获胜局数。

print("用户获胜次数为:",win)
  • 1

4.结果输出。
image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/405832
推荐阅读
相关标签
  

闽ICP备14008679号