美文网首页
闲着也是闲着:PYTHON 编写剪刀石头布游戏

闲着也是闲着:PYTHON 编写剪刀石头布游戏

作者: 凉风有兴 | 来源:发表于2020-02-04 23:01 被阅读0次

闲着也是闲着:PYTHON 编写剪刀石头布游戏

突如其来的一场变故,使得这个假期尤为的漫长,特别是不知什么时候终结的假期,尤其的漫长。闲着也是闲着,不如来学习学习Python吧。

我学习新的语言,不喜欢从基本开始学起,我喜欢从做好的项目或者游戏开始学起。

我在教学也是这样,讲基本理论知识容易让人打瞌睡。不如从做好的项目里面加入基础知识点更能让人容易接受。

Python IDE我不是用Python自带的,我使用更加专业的PyCharm,非常好用。有条件的朋友也可以使用。

本例程基本知识点为:随机数、if...elif...else、input、列表和print等,

用户输入数值的代码

# 输入1,2,3 分别代表剪刀,石头,布

# 电脑随机出拳,也是以1,2,3分别代表剪刀,石头,布

# 比较输赢

首先将代码注释做好。我们一步一步来完成它!

首先,我们让电脑提示我们输入1,2,3,分别代表剪刀,石头,布。

利用input即可: input("请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)")

同时,我们将输入的数值赋予player:

player=int(input("请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)"))

我们先忽略电脑随机出拳的代码,给它一个固定的数值:computer=1

当用户输入一个数值之后,电脑要马上打印出用户输入和电脑的出拳:print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player,computer))

python的方便之处就在这里显示出来,代码尽可能的简洁。

# 输入1,2,3 分别代表剪刀,石头,布
player=int(input("请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)"))
# 电脑随机出拳,也是以1,2,3分别代表剪刀,石头,布
computer = 1
print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player,computer))
# 比较输赢

判断胜负的代码

比较胜负的代码比较容易,主要是player,computer的对比,首先第一步需要写出的是player 所有的获胜条件:

if (player==1 and computer==3) or (player==2 and computer==1) or (player==3 and computer==2):

第二步,需要写出平局的条件,因为平局的条件比较好写,那么剩下的就是computer获胜的条件:

elif player==computer:

判断胜负的全部代码如下:

# 比较输赢
if ((player == 1 and computer == 3) 
        or (player == 2 and computer == 1) 
        or (player == 3 and computer == 2)):
    print("主人获胜了!")
elif player == computer:
    print("主人和电脑平局了!")
else:
    print("很遗憾,主人您落败了!")

随机数的应用

游戏的编写,是少不了随机数的应用的。在python中,要加入随机数,需要增加一个随机数的模块。使用import关键字,并且在文件的顶部。

import random
...
computer = random.randint(1, 3)

randint 函数是返回在a b 两个数之间,包括a b 之间的数。

上面我们需要电脑的出拳,是从1,3之间。

最后的完善

现在我们对代码进行运行,随便输入1,2,3,python会有如下的提示:

请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)2
玩家选择的拳头是 2 - 电脑出的拳是 3
很遗憾,主人您落败了!

现在我们再完善一点:让电脑的提示更人性化一点:

请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)1
玩家选择的拳头是 剪刀 - 电脑出的拳是 布
主人获胜了!

要做到这一点也很容易,使用列表就可以:plays = ["", "剪刀", "石头", "布"] 第一个之所以为空是因为我们的值是1~3,而列表的第一个数值为plays[0]。

然后再使用打印的语句 print("玩家选择的拳头是 %s - 电脑出的拳是 %s" % (plays[player], plays[computer]))

完整代码如下:

import random

# 输入1,2,3 分别代表剪刀,石头,布
player = int(input("请输入您要出的是 剪刀(1)/ 石头(2) / 布(3)"))
# 电脑随机出拳,也是以1,2,3分别代表剪刀,石头,布
computer = random.randint(1, 3)
plays = ["", "剪刀", "石头", "布"]
print("玩家选择的拳头是 %s - 电脑出的拳是 %s" % (plays[player], plays[computer]))
# 比较输赢
if ((player == 1 and computer == 3)
        or (player == 2 and computer == 1)
        or (player == 3 and computer == 2)):
    print("主人获胜了!")
elif player == computer:
    print("主人和电脑平局了!")
else:
    print("很遗憾,主人您落败了!")

要注意PyCharm的提示,写出符合规范的代码。Shift+F10运行代码。

谢谢大家!

相关文章

  • 闲着也是闲着:PYTHON 编写剪刀石头布游戏

    闲着也是闲着:PYTHON 编写剪刀石头布游戏 突如其来的一场变故,使得这个假期尤为的漫长,特别是不知什么时候终结...

  • 如何用Python Tkinter实现剪刀石头布小游戏?

    编写剪刀石头布游戏 让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Pap...

  • 闲着也是闲着

    习惯了早早醒来却赖床不起 , 一个人屏息凝神翻看手机, 不知不觉又是一两小时。 何不速速穿衣, 户外跑步登山强身健...

  • 闲着也是闲着

    今天,一觉醒来,打开简书… 有消息说,简书的发文系统在6月6日需更新程序,可能于当天会影响各位写君的及时发文,望相...

  • 闲着也是闲着

    年初一,没出门。看电视嗑瓜子刷毛笔字站桩闲聊。 聊及一起生活多年,竟然没好好吵过一架。我并不是脾气好之人。他说,作...

  • 闲着也是闲着。

    趁着这留观的半小时,写点流水账。 我又来扎第2针了。从小就怕打针,每次都让医生阿姨轻一点轻一点哟,可那时候不知道咋...

  • 闲着也是闲着

    近来,工地相比上年明显少了。农民工的收入肯定会少了很多。可不管怎样,反正就是随大流而已,不然,又能怎样。 没事了,...

  • 闲着也是闲着

    在食堂吃早饭时,几个同事闲聊。我不知怎么说了一句歇后语,下雨天打孩子——闲着也是闲着。 一位来自北方的同事说,其实...

  • 闲着也是闲着

    忽然产生一个一个很矛盾的想法:假如你有空余的时间,你会选择做重复而无意义的工作吗?还是宁愿闲着? 在我选择第一种方...

  • 7. while循环

    石头剪刀布游戏

网友评论

      本文标题:闲着也是闲着:PYTHON 编写剪刀石头布游戏

      本文链接:https://www.haomeiwen.com/subject/mvxjxhtx.html