鱼C论坛

 找回密码
 立即注册
查看: 21|回复: 1

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

[复制链接]
发表于 2 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


i = input("请输入一个数字,我来判断是否为回文数")
c = True
e = len(i) // 2
for d in range(e):
    if i[d] != i[-d-1]:
      c = False
      break
if c:
        print("这是一个回文数")
else:
        print("这不是一个回文数")
求指导
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
问题分析:

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

修正后的代码:


  1. i = input("请输入一个数字,我来判断是否为回文数")
  2. c = True
  3. n = len(i)
  4. for d in range(n // 2):
  5.     if i[d] != i[n - 1 - d]:
  6.         c = False
  7.         break
  8. if c:
  9.     print("这是一个回文数")
  10. else:
  11.     print("这不是一个回文数")
复制代码


主要修改点:

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-7-2 19:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表