前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用python实现猜数字游戏

用python实现猜数字游戏

作者头像
算法与编程之美
发布2023-08-22 14:35:43
1830
发布2023-08-22 14:35:43
举报

1 问题

如何来判断玩家输入的数据类型来避免报错?

解决:

使用isdigit函数来判断玩家输入的数据类型是否为数字,是则继续运行反之则提醒玩家输入的内容不合法。

如何限制玩家输入字符的数量?

解决:定义一个最大常量和最小常量,超出最大常量或者最小常量则会提醒玩家输入内容的范围。

2 方法

  1. 首先导入random随机模块 ,然后定义随机数的范围,然后定义次数。
  2. 使用while循环来判断是否符合随机数和输入数值的比较,并且设置次数递减
  3. 使用 isdigit 函数来完成判断玩家数据类型,避免报错。
  4. 使用if else 流程控制语句即玩家输入数字比随机数大则提醒玩家数字大,反之则小并且提醒玩家剩余几次机会。

5.最后编写输入机会用完猜对则游戏结束,猜错则提醒机会用完,并且公布电脑给出的随机数答案。

代码清单 1

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('游戏结束!')

3 结语

就此问题,首先导入模块,再利用while,if循环实现多次猜谜,通过实验,证明该方法是有效的。但此方法或许并不是最优解答,与此代码中也有许多可改进之处,后续会在此基础上再优化。此过程中我也对python的知识有了一点学习和巩固。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档