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

如何无需声明cat1、cat2等独立变量实现动态录入猫咪信息并输出表格

解决方案

核心实现逻辑是用动态容器存储结构化数据,不需要提前定义固定数量的独立变量:用可自由扩容的列表存储所有猫咪信息,每只猫咪的毛色、年龄等属性用字典封装,不管用户输入多少只猫咪都能适配。

无第三方依赖的完整实现

# 初始化存储所有猫咪信息的空列表
cats = []

# 第一步:获取合法的猫咪数量输入
while True:
    try:
        cat_count = int(input("请输入你饲养的猫咪数量:"))
        if cat_count <= 0:
            print("请输入大于0的正整数")
            continue
        break
    except ValueError:
        print("输入格式错误,请输入数字")

# 第二步:循环采集每只猫咪的信息
for i in range(cat_count):
    print(f"\n正在采集第{i+1}只猫咪的信息:")
    color = input("请输入猫咪的毛色:").strip()
    # 年龄输入做简单校验
    while True:
        try:
            age = float(input("请输入猫咪的年龄(单位:岁):"))
            if age < 0:
                print("年龄不能为负数,请重新输入")
                continue
            break
        except ValueError:
            print("输入格式错误,请输入数字")
    # 单猫信息存入字典后追加到总列表
    cats.append({
        "序号": i+1,
        "毛色": color,
        "年龄(岁)": age
    })

# 第三步:打印信息表格
print("\n=== 猫咪信息统计表 ===")
# 打印表头
print(f"| {'序号':<4} | {'毛色':<10} | {'年龄(岁)':<8} |")
print(f"|{'-'*6}|{'-'*12}|{'-'*10}|")
# 遍历列表打印每只猫的信息
for cat in cats:
    print(f"| {cat['序号']:<4} | {cat['毛色']:<10} | {cat['年龄(岁)']:<8} |")

可选:更美观的表格输出

如果需要更规整的表格样式,可以使用Python第三方库tabulate,安装命令为pip install tabulate,替换上面的第三步打印逻辑即可:

from tabulate import tabulate
print("\n=== 猫咪信息统计表 ===")
print(tabulate(cats, headers="keys", tablefmt="grid"))

效果示例

请输入你饲养的猫咪数量:3

正在采集第1只猫咪的信息:
请输入猫咪的毛色:橘猫
请输入猫咪的年龄(单位:岁):2.5

正在采集第2只猫咪的信息:
请输入猫咪的毛色:银渐层
请输入猫咪的年龄(单位:岁):1

正在采集第3只猫咪的信息:
请输入猫咪的毛色:奶牛猫
请输入猫咪的年龄(单位:岁):4

=== 猫咪信息统计表 ===

序号毛色年龄(岁)
1橘猫2.5
2银渐层1.0
3奶牛猫4.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:15:02