python 每日一练 和电脑玩石头剪刀布

从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3);

电脑随即出拳–先假定电脑只会出石头,完成整体代码功能;比较胜负

规则:

1、石头 2、剪刀 3、布

这里需要用到随机数,要导入随机模块 import random

为了让代码更有可读性,这里添加了函数,将1,2,3数字输出为石头、剪刀、布

def byName(num):    if num in (1,2,3):        if num==1:            return '石头'        elif num==2:            return '剪刀'        else:            return '布'

函数后面会重点讲解

获取随机数1到3之间 c=random.randint(1,3)

玩家接收输入的数字,然后跟电脑随机数进行比较

游戏规则需要明白,什么时候玩家赢,什么时候电脑赢,什么时候平局

电脑如果是1,玩家如果是2,或者电脑如果是2 ,玩家是3,或者电脑是3,玩家是1,这样的情况,就是电脑赢,反之,则玩家赢,如果一样的,则平局

这个逻辑很重要,需要搞明白

完整代码如下:

def byName(num):    if num in (1,2,3):        if num==1:            return '石头'        elif num==2:            return '剪刀'        else:            return '布'c=random.randint(1,3) #随机1-3p=int(input('请输入(1、石头 2、剪刀 3、布):'))if c==1 and p==3 or c==2 and p==1 or c==3 and p==2:    print(f'电脑出{byName(c)},玩家出{byName(p)},玩家赢')elif c==3 and p==1 or c==1 and p==2 or c==2 and p==3:    print(f'电脑出{byName(c)},玩家出{byName(p)},电脑赢')else:    print(f'电脑出{byName(c)},玩家出{byName(p)},平局')

这里and和or同时使用,需要明白的是,先执行and,应为它的优先级更高,会先执行,不需要打括号

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章