博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Python核心编程》第二版第六章练习题答案-第四部分
阅读量:6147 次
发布时间:2019-06-21

本文共 1357 字,大约阅读时间需要 4 分钟。

6–14.随机数.设计一个"石头,剪子,布"游戏,有时又叫"Rochambeau",你小时候可能玩过,下面

是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种手势:石头,剪子,布.胜利者从
下面的规则中产生,这个规则本身是个悖论.
(a) the paper covers the rock,
布包石头.
(b)石头砸剪子,
(c)剪子剪破布.在你的计算机版本中,用户输入她/他的选项,计算机找一个随机选项,然后由你
的程序来决定一个胜利者或者平手.注意:最好的算法是尽量少的使用if 语句.

解答如下:

#  -*- coding:utf-8 -*- #!/usr/bin/python#Filename:6-14.py'''Created on 2012-7-27@author: wanglei'''import randomdef Rochambeau():    dic={1:'剪刀',2:'石头',3:'布'}       win={
"石头":"剪刀","布":"石头","剪刀":"布"} lose={
"石头":"布","布":"剪刀","剪刀":"石头"} game=True while(1): userguessint=input("剪刀石头布开始,请输入...1-剪刀,2-石头-3-布,0-退出 : ") if userguessint==0: break userguess=dic[userguessint] computerguessint=random.randint(1,3) computerguess=dic[computerguessint] print "电脑出的是%s"%computerguess if win[userguess]==computerguess: print "恭喜,你获得了胜利!" elif lose[userguess]==computerguess: print "你失败了。。。" else: print "该局为平局...." print "游戏结束..."Rochambeau()

测试数据:

剪刀石头布开始,请输入...1-剪刀,2-石头-3-布,0-退出 : 1

电脑出的是布
恭喜,你获得了胜利!
剪刀石头布开始,请输入...1-剪刀,2-石头-3-布,0-退出 : 2
电脑出的是剪刀
恭喜,你获得了胜利!
剪刀石头布开始,请输入...1-剪刀,2-石头-3-布,0-退出 : 3
电脑出的是布
该局为平局....
剪刀石头布开始,请输入...1-剪刀,2-石头-3-布,0-退出 : 0
游戏结束...

思路:程序采用两个字典来判断比赛结果,通过遍历这两个字典来决定输赢,从而避免了大量的条件

          判断语句

转载于:https://www.cnblogs.com/hello--the-world/archive/2012/07/27/2611769.html

你可能感兴趣的文章
常见模块设计--权限管理(auth)
查看>>
Ubuntu开机启动小键盘
查看>>
谈谈easyui datagrid 的数据加载
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
Quartz2D使用(图形上下文栈)
查看>>
030串联所有单词并匹配
查看>>
python中的*args和**kw
查看>>
Tomcat9 配置在Windows7 64位 上安装步骤
查看>>