Python实现的摇骰子猜大小功能小游戏示例


Posted in Python onDecember 18, 2017

本文实例讲述了Python实现的摇骰子猜大小功能小游戏。分享给大家供大家参考,具体如下:

最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路如下:

Python实现的摇骰子猜大小功能小游戏示例

开发环境:python2.7 , 附上源代码如下:

摇骰子的函数,这个函数其实并不需要传任何参数,调用后会返回三个点数结果的列表。

import random
def roll_dice(numbers=3,points=None):
  print ('<<<<< ROLL THE DICE! >>>>>')
  if points is None:
    points = []
  while numbers > 0:
    point = random.randint(1,6)
    points.append(point)
    numbers = numbers-1
  return points

接着再用一个函数来将点数转化成大小

def roll_result(total):
  isBig = 11 <=total <= 18
  isSmall = 3 <= total <= 10
  if isBig:
    return 'Big'
  elif isSmall:
    return 'Small'

最后,创建一个开始游戏的函数,让用户输入猜大小,并且定义什么是猜对,什么是猜错,并输出对应的输赢结果。

def start_game():
  print ('<<<<< GAME STARTS! >>>>>')
  choices=['Big','Small']
  your_choice=raw_input('Big or Small')
  if your_choice in choices:
    points = roll_dice()
    total = sum(points)
    youWin = your_choice == roll_result(total)
    if youWin:
      print('The points are',points,'You win !')
    else:
      print('The points are',points,'You lose !')
  else:
    print('Invalid Words')
    start_game()
start_game()

完成这个小游戏之后,你就可以试着和自己设计的程序玩猜大小了。同时你也掌握了循环和条件判断混用的方法,初步具备了设计更复杂的程序的能力了。

Python 相关文章推荐
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
查看Python安装路径以及安装包路径小技巧
Apr 28 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
python的pip安装以及使用教程
Sep 18 Python
python 多个参数不为空校验方法
Feb 14 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
Python中的全局变量如何理解
Jun 04 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
简单实现python进度条脚本
Dec 18 #Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 #Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 #Python
python中列表和元组的区别
Dec 18 #Python
Django REST为文件属性输出完整URL的方法
Dec 18 #Python
Python3计算三角形的面积代码
Dec 18 #Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 #Python
You might like
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php curl 上传文件代码实例
2015/04/27 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
Python使用minidom读写xml的方法
2015/06/03 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
Python实现Linux监控的方法
2019/05/16 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Python定义一个Actor任务
2020/07/29 Python
详解Python高阶函数
2020/08/15 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
Linux操作面试题
2012/05/16 面试题
大学学生会主席竞选稿
2015/11/19 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL