|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 shinemic 于 2017-8-9 22:30 编辑
本节为改进了之前的猜数字游戏, 不过甲鱼哥在视频中遇到一种情况,就是如果一开始就猜对了, 不会提示原来猜对后傲骄的信息, 而是直接跳出循环执行后面的语句了, 甲鱼哥谦虚道教课紧张程序没写好, 那么我小试牛刀一下!
- import random
- secret = random.randint(1, 10)
- maxtrials = 3
- trial = 0
- print('---------------我爱鱼C工作室---------------')
- while trial < maxtrials:
- trial += 1
- if trial == 1:
- guess = int(input('不妨猜下小甲鱼现在心理想的是哪个数字(1 ~ 10): ')) # 我特么哪知道
- else:
- guess = int(input('重新猜一个吧: '))
- if guess == secret:
- print('卧槽, 你特么是小甲鱼心里的蛔虫么?!')
- print('哼, 猜中了也没有奖励') # 打字的时候起一身鸡皮疙瘩
- break
- else:
- if trial == maxtrials:
- print('可以可以, 一次也没猜对!')
- break
- if guess > secret:
- print('哥, 大了大了!')
- else:
- print('哥, 小了小了!')
- print('游戏结束, 不玩了不玩了!')
复制代码 这样一来结果表现的就没有逻辑问题了:
1次就猜对
- ---------------我爱鱼C工作室---------------
- 不妨猜下小甲鱼现在心理想的是哪个数字(1 ~ 10): 6
- 卧槽, 你特么是小甲鱼心里的蛔虫么?!
- 哼, 猜中了也没有奖励
- 游戏结束, 不玩了不玩了!
复制代码 第3次猜对
- ---------------我爱鱼C工作室---------------
- 不妨猜下小甲鱼现在心理想的是哪个数字(1 ~ 10): 4
- 哥, 小了小了!
- 重新猜一个吧: 8
- 哥, 小了小了!
- 重新猜一个吧: 10
- 卧槽, 你特么是小甲鱼心里的蛔虫么?!
- 哼, 猜中了也没有奖励
- 游戏结束, 不玩了不玩了!
复制代码 3次都没猜对
- ---------------我爱鱼C工作室---------------
- 不妨猜下小甲鱼现在心理想的是哪个数字: 9
- 哥, 大了大了!
- 重新猜一个吧: 6
- 哥, 小了小了!
- 重新猜一个吧: 7
- 可以可以, 一次也没猜对!
- 游戏结束, 不玩了不玩了!
复制代码
改进的想法是这样的:
设定尝试最大值, 尝试初始值(还没有尝试, 所以为 0), 每次开始的时候表示试验次数的计数器 trial 自增一, 如果是第一次输入, 那么如何如何, 否则就是输错了, 如何如何. 现在已经有了这次的 guess, 与之前随机出的 secret 相比较, 如果猜对, 直接走你退出循环, 否则判断大小. 但设想如果这是第三次尝试了, 最后一次还是错, 那就没必要给他提示大还是小了, 所以在提示大小之前, 加入判断是否是最后一次了, 如果是, 那特么说明三次都猜错了, 鄙视猜数者一顿, 退出程序. 不知有没有可以改进的地方, 以后遇到类似的问题再深入考虑!
|
评分
-
查看全部评分
|