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

Python新手如何判断输入4位数字是否为capicúa回文数

4位capicúa(回文数)判断实现方案

这个需求理解完全正确,capicúa就是常说的回文数,即正读反读数值相同,实现难度很低,完全适合新手练习。

方案1:字符串反转法(新手最易上手)

不需要手动拆分数字位,利用Python字符串切片特性可快速完成判断,代码简洁不易出错:

# 获取用户输入,strip()去掉首尾空格
input_str = input("请输入一个4位数字:").strip()
# 先校验输入是否为4位纯数字
if len(input_str) !=4 or not input_str.isdigit():
    print("输入不合法,请输入4位纯数字")
else:
    num = int(input_str)
    # 定义布尔变量存储是否为capicúa的判断结果
    is_capicua = input_str == input_str[::-1]
    # 输出结果
    if is_capicua:
        print(f"{num} 是capicúa")
    else:
        print(f"{num} 不是capicúa")

方案2:数学取位法(逐位校验的实现方式)

如果需要手动获取每一位数字完成校验,可以用整数除法和取模运算拆分4位数字的每一位:

input_str = input("请输入一个4位数字:").strip()
if len(input_str) !=4 or not input_str.isdigit():
    print("输入不合法,请输入4位纯数字")
else:
    num = int(input_str)
    # 拆分4位数字的每一位:千位、百位、十位、个位
    thousands = num // 1000
    hundreds = (num // 100) % 10
    tens = (num // 10) % 10
    units = num % 10
    # 定义布尔变量存储判断结果:千位=个位 且 百位=十位,才是4位回文数
    is_capicua = thousands == units and hundreds == tens
    # 输出结果
    if is_capicua:
        print(f"{num} 是capicúa")
    else:
        print(f"{num} 不是capicúa")

两种方案都可以满足需求,新手优先推荐方案1,逻辑更简单不易写错;如果想要练习数值运算的基础操作,可以选择方案2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:15:04