Python编程基础与应用 猜拳游戏[2页]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

猜拳游戏
【案例描述】
这个世界最大的问题是什么呢?它可能是人与人或者国与国之间的分歧。

其实我们小时候就已经想到可以通过猜拳来解决分歧,但是看似公平的方法却有着致命的缺陷,就是出手的快慢和作弊。

我们可以借助程序的力量,公平的猜拳,从而解决各种分歧。

在猜拳规则中,石头胜剪刀,剪刀胜布,布胜石头。

【案例分析】
(1)用0、1、2分别代表游戏中的石头、剪刀、布。

(2)电脑随机出拳。

(3)统计比赛可能出现的所有可能并输出最终结果。

它用到的技术点有以下几方面:随机函数random.randint()的使用,input函数的使用及数据整型处理,if-elif的操作。

【实施步骤】
新建Python文件“FingerGuessing.py”,导入random模块,使用方法randint(),在0~2范围内随机产生一个数字,用随机数字表示电脑出拳。

比赛中一共会出现9种情况,分别归类于不同的输赢结果中,程序如下所示。

import random
#1.生成随机数字
player = input('请输入(0--石头、1--布、2--剪刀:)') #用户输入拳型
index = random.randint(0,2)
#2.根据index的值赋予computer不同的拳型
if index == 1:
computer = '布'
elif index == 2:
computer = '剪刀'
else:
computer = '石头'
#3.通过if-elif 对9种可能进行判断,分别给出结果
if(player == '石头' and computer == '石头') or(player == '剪刀' and computer == '剪刀') or(player == '布' and computer == '布'):
print('电脑出的是:%s,玩家出的是:%s,平局!'%(computer,player))
elif(player == '石头' and computer == '剪刀') or(player == '布' and computer == '石头' ) or(player == '剪刀' and computer == '布'):
print('电脑出的是:%s,玩家出的是:%s,玩家赢!'%(computer,player))
else:
print('电脑出的是:%s,玩家出的是:%s,电脑赢!'%(computer,player))
【调试结果】
从程序运行结果可以看到,当玩家输入布,此时电脑随机给出的数字是0,意味着电脑出拳型为石头,根据规则,布胜拳头,玩家赢,如图所示。

游戏运行结果。

试一试
(1)在程序中加入循环,实现任意次猜拳功能。

(2)结合本案例,尝试编写模拟抛硬币正反面概率的程序。

(3)本案例是通过判断字符来实现输赢的,是否可以通过比较数字的大小来实现输赢?请你试一试。

相关文档
最新文档