本文实例为大家分享了Python实现简单猜数字游戏的具体代码,供大家参考,具体内容如下
一、需求分析
编写一个猜数字游戏,游戏规则:计算机给出一个1-20的之间的随机数字,让玩家来猜猜它是几,计算机会告诉你每次猜出的数字或大或小,如在6次内猜到正确数字,即赢了。
二、编写思路
1.首先导入random随机模块 ,然后定义随机数的范围,然后定义次数。
2.使用while循环来判断是否符合随机数和输入数值的比较,并且设置次数递减
3.使用 isdigit 函数来完成判断玩家数据类型,避免报错。
4.使用if else 流程控制语句即玩家输入数字比随机数大则提醒玩家数字大,反之则小并且提醒玩家剩余几次机会。
5.最后编写输入机会用完猜对则游戏结束,猜错则提醒机会用完,并且公布电脑给出的随机数答案。
三、问题
1.如何来判断玩家输入的数据类型来避免报错?
解决:使用isdigit函数来判断玩家输入的数据类型是否为数字,是则继续运行反之则提醒玩家输入的内容不合法。
2.如何限制玩家输入字符的数量?
解决:定义一个最大常量和最小常量,超出最大常量或者最小常量则会提醒玩家输入内容的范围。
四、代码
import random # 导入随机模块 times = 6 # 定义尝试次数 game = random.randint(0, 20) # 定义随机数范围 max = 20 # 定义最大常量 min = 0 # 定义最小常量 print('猜一猜我心目中的数字(0-20之间):') print('你有%d次机会:' % times) while times > 0: # 循环判断如果有机会往下运行 times = times - 1 # 次数递减 str = input() # 输入数值 if not str.isdigit(): # 判断数据类型 输入的是不是数字 print('您输入的数据:' + str + '不合法,请重新输入我心目中的数字(0-20)之间,还有%d次机会' % times) else: guess = int(str) if guess == game: #玩家输入与随机数相同 print('猜对了!') else: if guess > max: #玩家输入大于猜测随机数范围 print('输入无效!请输入%d到%d之间的数字,还有%d次机会.' % (min, max, times)) continue if guess > game: #玩家输入大于随机数 print('您输入的数字大了!还有%d次机会' % times) else: print('您输入的数字小了!还有%d次机会' % times) if times > 0: #还有次数 print('在尝试一次吧') else: print('没机会了') print('我心目中的数字是%d' % game) print('游戏结束!')
五、感悟
通过本次的项目练习,我感觉自己收获还是很大的,不仅考验了自己对基础知识的掌握程度,而且和同学在讨论中也发现了更多的问题并且学会解决问题,然后在师父的验收过程中也发现了代码可以调优完善的地方,最后在纪老师验收的过程中,通过看其他同学的代码和自己的代码来对比可以发现一些自己所不了解的知识及语法,老师也提了很多的问题,并且提供了更多的思路,例如代码里曲线 背景快出现的原因,以及如何设计游戏更多的乐趣,然后以后完成项目还可以使用PPT,因为这样可以更清楚更便于自己或者同学来理解,使我受益匪浅,在自己解决问题的过程中也学会了一些更多的函数用法,例如如何判断数据类型,通过在网上搜索学习了这个函数,我也对类似的这种函数进行了解:
s为字符串
s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。
s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]