TJMO 发表于 2021-9-8 21:26:17

python作业求助

零基础学习Python最新版第18讲 作业里面最后一道题这样写为什么错啊
为什么要写x>revertedNumber 而不是
x = int(input("请输入一个正整数:"))

if x < 0 or (x > 0 and x % 10 == 0):
    print("不是回文数。")
else:
    revertedNumber = 0
    while x >= 1:
      revertedNumber = (revertedNumber * 10) + (x % 10)
      x = x // 10

    if x == revertedNumber or x == revertedNumber // 10:
      print("是回文数。")
    else:
      print("不是回文数。")

monkey-D 发表于 2021-9-8 23:37:02

本帖最后由 monkey-D 于 2021-9-8 23:38 编辑

是哪里都不说清楚,如果是while条件那里的话x>revertedNumber保证了数字没有进行到一半,像12321,只需要判断到第三位就能确定为回文数,你的x>=1会导致多走几遍while循环,结束循环后x= 0,最后不满足if条件
页: [1]
查看完整版本: python作业求助