镜子中的你 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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条