You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手如何实现重复输入笑话编号展示对应笑话的功能

Python笑话查询应用循环功能实现方案

实现思路

用while True构造无限循环实现持续接收用户查询需求,额外增加主动退出逻辑,避免程序无法正常关闭,同时增加输入合法性校验避免运行报错。

推荐实现代码(易维护)

先把a1-a10的笑话变量整合为字典,不需要写大量重复的判断语句:

# 此处保留你原有a1到a10的笑话变量定义即可
a1 = "冷笑话1:什么动物最容易摔倒? 狐狸,因为它狡猾(脚滑)"
a2 = "冷笑话2:......"
# a3到a9按你原有内容补充
a10 = "冷笑话10:......"

# 构造编号和笑话的映射字典
joke_map = {str(i): globals()[f"a{i}"] for i in range(1, 11)}

print("=== 笑话查询工具 ===")
print("输入1-10查询对应笑话,输入q可退出程序")

while True:
    input_content = input("\n请输入笑话编号:").strip()
    # 退出逻辑
    if input_content == "q":
        print("程序已退出")
        break
    # 输入合法性校验
    if input_content not in joke_map:
        print("输入无效,请输入1-10范围内的数字,或输入q退出")
        continue
    # 输出对应笑话
    print(joke_map[input_content])

兼容原有写法的实现方案

如果你不想修改原有判断逻辑,直接把你现有的查询代码套进while True循环里即可:

# 保留你原有a1到a10的定义和查询判断逻辑
a1 = "..."
a2 = "..."
# ...其余变量定义

print("=== 笑话查询工具 ===")
print("输入1-10查询对应笑话,输入q可退出程序")
while True:
    num = input("\n请输入笑话编号:").strip()
    if num == "q":
        print("程序已退出")
        break
    if num == "1":
        print(a1)
    elif num == "2":
        print(a2)
    # 原有elif num == "3" 到 num == "10"的判断逻辑保持不变
    else:
        print("输入的编号不存在,请输入1-10范围内的数字")

内容的提问来源于stack exchange,提问作者DolbykD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:54:10