Python语法小游戏——石头、剪刀、布

一个有趣的小游戏——石头、剪刀、布

要求如下:

1、键盘输入 (1 石头 2 剪刀 3 布)

2、电脑随机产生(1 石头 2 剪刀 3 布)

3、输出 划拳的结果。

可以锻炼简单的思维逻辑能力,首先,我们需要知道要用到什么。结尾附完整代码

第一步,我们需要获取用户输入信息,再随机生成一个 1~3之间的整数

import random
d1 = {1: "石头", 2: "剪刀", 3: "布"}
a = int(input("请输入你的结果:"))
b = random.randint(1,3)

第二步,我们需要判断游戏者与电脑的输赢

a与b的组合共有九种情况,可以分为三大类:

1.平局:a与b相等的三种情况,即 a == b的三种情况(剪刀对剪刀、石头对石头、布对布)

2.胜局:当a与b的关系如下时是胜局,(a == 1 and b == 2) 、(a == 2 and b == 3) 、

(a == 3 and b == 1)

3.败局:除去平局和胜局,其余的都是败局了

if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))

第三步,我们要设置关系保证游戏输入者的输入满足条件(1~3),满足则继续,不满足我们就要求游戏者重新输入

if a > 3 or a < 0:
        print("输入错误,请重新输入:")
        a = int(input())
    else:
        if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))

第四步,我们要让游戏一直进行,按结束才能结束

while a:
    if a > 3 or a < 0:
        print("输入错误,请重新输入:")
        a = int(input())
    else:
        if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))
print("游戏结束!")

第五步,当我们继续游戏时,重新输入了a值,所以b值也需要改变才行

while a:
    if a > 3 or a < 0:
        print("输入错误,请重新输入:")
        a = int(input())
    else:
        if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
            b = random.randint(1, 3)
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
print("游戏结束!")

最后,我们加点细节,晚上一下,代码如下:

import random

print("游戏说明:1代表石头,2代表剪刀,3代表布,0结束游戏")
a = int(input("请输入你的结果:"))
d1 = {1: "石头", 2: "剪刀", 3: "布"}
b = random.randint(1, 3)
while a:
    if a > 3 or a < 0:
        print("输入错误,请重新输入:")
        a = int(input())
    else:
        if a == b:
            print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
            a = int(input("请输入你的结果:"))
            b = random.randint(1, 3)
        else:
            if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
                print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
            else:
                print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
                a = int(input("请输入你的结果:"))
                b = random.randint(1, 3)
print("游戏结束!")

运行测试结果如下:

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年5月28日
下一篇 2023年5月28日

相关推荐