镜子中的你 2019-11-09 08:20 采纳率: 100%
浏览 1075
已采纳

用python编写猜数字游戏,遇到一个问题总解决不了,求助!

希望能在游戏过程中添加一个按“q”就能退出游戏的功能,
但是又和程序中只能输入数字的代码冲突,
就是希望,在游戏开始后,任何时候想退出游戏,按“q”就可以退出游戏,
但又不会和游戏中的try-except代码想冲突。
本人初学者,怎么想也解决不了,希望能有前辈指导。

import random

name = input("你好! 你的名字是什么?\n");
print("欢迎来到猜数字游戏 " + name.title())
print("我有一个数字在1到100之间, 你能在7次内猜到它吗?")

random_num = random.randint(1, 100)
time = 0
while time <= 7:
    try:
        num = int(input("输入一个数字:\n"))
    except ValueError as e:
        print("请输入有效数字")
        continue
    if num == random_num:
        break
    elif num < random_num:
        print("你的数字小了!")
    else:
        print("你的数字大了!")
    time += 1
if time <= 7:
    print("恭喜你,你赢了^_^.")
else:
    print("别灰心,再来一次你可以的^_^")
  • 写回答

2条回答

  • 毕小宝 博客专家认证 2019-11-09 09:59
    关注

    那也挺好处理的,在转 int 之前,先判断输入的是否是 q 字符,如果是的话,直接 break ;不是的话再尝试 int 转换,基本操作参考:

           try:
                  receive=input("输入一个数字,如果想退出,按 q 字符:\n")
                    if receive == "q":
                          break
                    elif:
                        num = int(receive)
            except ValueError as e:
            print("请输入有效数字")
            continue
    

    思路没问题,字符串比较是否相等我在 python 2 环境下没测通。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题