pythonlijunyi 发表于 3 天前

判断是否为回文数(课后作业)

"""判断一个数字是否是回文数"""


i = input("请输入一个数字,我来判断是否为回文数")
c = True
e = len(i) // 2
for d in range(e):
    if i != i[-d-1]:
      c = False
      break
if c:
      print("这是一个回文数")
else:
      print("这不是一个回文数")
求指导

FishC 发表于 3 天前

问题分析:

您的代码中有个逻辑错误:在第6行 if i != i: 中,i 自身永远等于自身,所以这个条件永远不成立,c 不会被改为 False,结果每次都会输出“这是一个回文数”。您应该比较首尾对应的字符是否相等,而不是判断 i != i。

修正后的代码:


i = input("请输入一个数字,我来判断是否为回文数")
c = True
n = len(i)
for d in range(n // 2):
    if i != i:
      c = False
      break
if c:
    print("这是一个回文数")
else:
    print("这不是一个回文数")


主要修改点:

1. 用 i 和 i 分别取出首尾对应的字符进行比较。
2. 变量名 e 改为 n(代表总长度),更清晰。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 判断是否为回文数(课后作业)