猫史档案馆


【Python小教程】用简单的代码做出猜拳游戏

用户:_Rise__Rise_查看:12 回复:10 评论:12 创建时间:2020-07-31T19:26:39


写这篇教程贴只是想运用费曼学习法哈,写差了不要在意

先上代码

import random


print('欢迎来到猜拳游戏')
num = 0
win_num = 0
lose_num = 0
while True:
    if lose_num == 2 or win_num == 2:
        break
    user = int(input('出剪刀打1,出石头打2,出布打3'))
    if user > 3 and user < 1:
        print('不要输入其他数字')
    else:
        AI = random.randint(1,3)
        if (AI == 1 and user == 2) or (AI == 2 and user == 3) or (AI == 3 and user == 1):
            print('你赢了')
            win_num += 1
            num += 1
        elif AI == user:
            print('平局了')
            num += 1
            continue
        elif (AI == 1 and user == 3) or (AI == 2 and user == 1) or (AI == 3 and user == 2):
            print('你输了')
            lose_num += 1
            num += 1
        else:
            if num == 3:
                break
    if num == 3 and win_num != 2 and lose_num != 2:
        print('游戏结束,没有赢家!')
    if win_num == 2:
        print('恭喜你,你赢了!')
    if lose_num == 2:
        print('你输了,再接再厉!')


让我们来一步步分析代码

import random


导入随机数生成器库,不用我多说了吧

print('欢迎来到猜拳游戏')


最基础的输出方法,此处要注意括号要是英文括号,而不是中文括号

num = 0
win_num = 0
lose_num = 0


赋值变量,num为局数,win_num为胜利局数,lose_num为失败局数

while True:


重复执行

if lose_num == 2 or win_num == 2:
    break


选择语句,从此可以看出游戏规则为三局两胜,break为退出循环

user = int(input('出剪刀打1,出石头打2,出布打3'))


这既是一个变量赋值语句,也是输入语句,int的意思是把用户的输入转换成整数类型

if user > 3 and user < 1:
    print('不要输入其他数字')
else:
    AI = random.randint(1,3)

一个选择语句,如果用户输入的不是1,2,3就会显示“不要输入其他数字”(如果你输入的是你汉字的话也会显示这句话)如果用户输入的是1,2,3就会让人机在1,2,3三个数字之间随机选择

        if (AI == 1 and user == 2) or (AI == 2 and user == 3) or (AI == 3 and user == 1):
            print('你赢了')
            win_num += 1
            num += 1
        elif AI == user:
            print('平局了')
            num += 1
            continue
        elif (AI == 1 and user == 3) or (AI == 2 and user == 1) or (AI == 3 and user == 2):
            print('你输了')
            lose_num += 1
            num += 1
        else:
            if num == 3:
                break

一长串选择语句,if后面的说简单一些就是输赢判断num+=1,win_num+=1等等都是让变量+1,最后的if是num==3时退出循环

    if num == 3 and win_num != 2 and lose_num != 2:
        print('游戏结束,没有赢家!')
    if win_num == 2:
        print('恭喜你,你赢了!')
    if lose_num == 2:
        print('你输了,再接再厉!')

!=的意思是不等于,在此注意“=”是变量赋值,“==”的意思是:什么=什么。需要注意“=”和“==”像我这样的垃圾就经常搞错


回复

上一页1 页 / 共 1下一页
陆奕博Max陆奕博Max

emotion_编程猫_点赞

点赞0


评论


陆奕博Max陆奕博Max

猜数也可以用python做一下

点赞0


评论


碳

点赞0


评论


碳

比我的教程帖代码多多了难多了不愧是Riseemotion_doge

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

Rise水贴系列第三部

点赞0


评论


_Rise__Rise_

点赞0


评论


Mellin_AmpMellin_Amp

每日水帖吗()

点赞1


评论


乌仔仔乌仔仔

你是海龟离线版还是不是离线版,我就是离线版。。。

点赞0


评论


March_12thMarch_12th

你的while True是怎么运行的???会死机的呀???

emotion_编程猫_翻白眼

点赞0


评论


_Rise__Rise_

dd

点赞0


评论