习题里比较有意思的一个题目,实现石头剪刀布这个游戏,起初设计的时候走弯路了(主要时被习题里那个“尽量少用if判断”给整晕了),想的太复杂,后来发现其实非常简单,完全可以不写if语句。

还是枚举法:

#! /usr/bin/env python

import random

choicetuple = ('rock','scissors','paper')

#枚举所有的比较结果,格式定义为{‘玩家-电脑’:‘结果’}

judgedict = {'rock-rock':'OK!Draw!','scissors-scissors':'OK!Draw!','paper-paper':'OK!Draw!','rock-scissors':'OK!You Win!', 'rock-paper':'HAHA!You lose!', 'scissors-rock':'HAHA!You lose!', 'scissors-paper':'OK!You Win!', 'paper-rock':'OK!You Win!', 'paper-scissors':'HAHA!You lose!'}

def rockscissorspaper(playerchoice, randomchoice):

newstr = playerchoice+'-'+randomchoice

#get内建函数是亮点,因为我之前用的是try expect这种傻乎乎的东西,看到第7章的内容,果断用get()

return judgedict.get(newstr, 'Computer is played badly!')

if __name__ == '__main__':

print('rock!!scissors!!paper!!')

while True:

playerchoice = input('COME ON!SHOW ME YOUR HAND STYLE:')

randomchoice = choicetuple[random.randint(0,len(choicetuple)-1)]

print('Eat this:%s'% randomchoice)

resultstr = rockscissorspaper(playerchoice, randomchoice)

print(resultstr)

这个玩法正常情况下,玩家想赢电脑,概率是三分之一(平局当然不算赢),但是,这么玩游戏也太没劲了,胜利得来太容易啊!

玩游戏果断得有VIP(RMB)玩家和平民玩家之分啊!VIP0~9,9级VIP,赢的概率是3分之一,依次往下推,0级VIP,赢主要看脸!

怎么实现呢?嘿嘿,有兴趣的同学可以试一哈!

石头剪刀布python编程_《python核心编程第二版》练习题——游戏:石头剪刀布相关推荐

  1. python核心教程第二版答案_python核心编程第二版第4章习题答案.docx

    python核心编程第二版第4章习题答案.docx 4-1.Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下. 答案: 所有的 Python 对象都拥有三个特性:身 ...

  2. python核心编程电子书_Python核心编程 PDF 超清第3版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python编程.Python核心编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小22.4 MB,卫斯理编写,目前豆瓣 ...

  3. 风变编程python网址_风变编程Python:如何打造职场差异化竞争优势

    吴军在<浪潮之巅>里指出,21世界最终会是人工智能的世纪,我们要么成为他们的奴隶,要么成为他们的神.每次开学我都会问学生们一个问题:如何才能比别人更优秀?更好的学历?更丰富的工作经验?事实 ...

  4. python核心编程豆瓣_python核心编程一书笔记之第一篇

    #!/usr/bin/env python # -*- coding:utf-8 -*- #env 是一个命令用来寻找系统中的python解释器.第二条解释使用utf-8编码 在类unix系统中允许p ...

  5. 掌握Python语法篇:核心编程能力基础第一阶段

    就想问一下有多少是看到封面就点进来的,不过不要失望今天依旧会是收获满满的一天,记得点一下最后的五角星,哪怕是起灰也行啊,支持一下辣条哥啊 今天我们继续聊python 之前我们讲了python的输入和输 ...

  6. python爬取qq音乐歌词风变编程_风变编程的Python课,让我离掌握编程又进了一步...

    零基础自学Python真的太难了!还好有风变编程. 今年疫情过后,意识到人工智能已是未来发展的大势所趋,我和办公室的几个小伙伴讨论了一下,决定用工作之余的时间学一学Python.然而,理想很美好,现实 ...

  7. python最简单的图形编程_图形化编程、Python、Java、C++到底哪个适合你?

    近两年,学习编程的热潮一波接一波,编程语言也是五花八门.盒子姐姐找到了一份2019年编程语言热度排行榜,其中,Java.C语言和Python高居榜首. 有些小伙伴就要问啦,编程语言这么多,区别在哪里呢 ...

  8. python实现2048编程_200 行代码实现简易版 2048 游戏 (python)

    当然这一篇需要你有一定的python基础?如果你没有python基础不要着急,你可以先去找一些python的基础教程去了解了解学习学习这门短小精悍的语言. 好了,说了那么说没用的话,现在正式开始 创建 ...

  9. Python核心教程(第二版)读书笔记(三)

    第三章Python基础 2010-04-09 换行  一行过长的语句可以使用反斜杠'\'分解成几行.有两种例外情况一个语句不使用反斜线也可以跨行. 1.在使用闭合操作符时,单一语句可以跨多行.例如:在 ...

  10. 汉诺塔问题递归算法python代码_[python]汉诺塔问题递归实现

    一.问题描述及算法步骤 汉诺塔问题的大意是有三根柱子a, b, c,现在a柱有N个盘子从下往上尺寸递减排列,要求: 1. 将a上的盘子移动到c柱上; 2. 每次移动一个盘子; 3. 柱子上的盘子始终必 ...

最新文章

  1. android:使用audiotrack 类播放wav文件
  2. 根据后续数组重建搜索二叉树
  3. 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
  4. 比较重量 网易2016实习研发工程师编程题
  5. 为什么SAP UI5框架在应用整个生命周期只调用onBeforeRendering一次
  6. Ubuntu环境搭建三:VIM配置
  7. Train Problem II(卡特兰数 组合数学)
  8. 安卓实现tcp连接(安卓作为客户端,电脑作为服务端)
  9. java8用什么tomcat_Tomcat8+JDK8安装与配置
  10. 用免费WiFi上网软件有什么好处
  11. 【技巧】vscode快速生成html结构
  12. Dell PowerEdge RAID控制器存在一个潜在问题
  13. 左岸语不惊人死不休系列摘录
  14. 【爬虫+数据清洗+可视化分析】用Python分析哔哩哔哩“阳了“的评论数据
  15. 双击进入共享计算机时提示无法访问错误(连接共享打印机)
  16. 浅谈伺服电机三种控制方式
  17. 浅谈煤矿智能化解决方案
  18. 数字后端基本概念介绍Tie cell
  19. 2021半年盘点,这些经典更新了!
  20. 什么是Use Case?

热门文章

  1. springCloud - 第1篇 - 服务的注册 Eureka
  2. 解决maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2
  3. 为什么 那么多 前端开发者都想学 Vue.js
  4. 详解Mysql中的JSON系列操作函数
  5. 解决:按截图 ctrl+alt+a QQ聊天窗口就自动最小化(QQ以外的可以截图)
  6. 在操作系统重启后恢复应用程序的工作状态
  7. CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
  8. 学习笔记:AC自动机
  9. Oracle DB优化
  10. xflash里的hello world程序