判断是否为回文数(课后作业)
"""判断一个数字是否是回文数"""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("这不是一个回文数")
求指导 问题分析:
您的代码中有个逻辑错误:在第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]