小古比鱼 发表于 2020-12-29 18:25:35

新版第018讲课后作业动动手第1题(回文数)

原帖地址:https://fishc.com.cn/thread-164089-1-1.html
题目要求:输入一个正整数,判断是否为回文数。
以下是小古比鱼编写的代码,感觉比小甲鱼老师提供的参考答案更简洁、更优雅!望各位鱼友走过路过,留下宝贵意见,共同交流进步!
s = input('请输入一个正整数:')   # 默认用户输入正整数
print(('' if s == s[::-1] else '不') + '是回文数。')

jackz007 发表于 2020-12-29 18:53:55

本帖最后由 jackz007 于 2020-12-29 19:01 编辑

      你这个纯属偷懒,别人要求的是正整数,你就应该始终按正整数进行相关操作和判断。
n = int(input('请输入一个正整数 : '))
s , d =0 , n
while d:
    s = s * 10 + d % 10
    d //= 10
if s == n : print(n , '是回文数')
else : print(n , '不是回文数')

雷欧库珀 发表于 2020-12-29 19:05:24

你这个默认不太好,谁也不知道坐在机器前和你的程序进行交互的是不是人

小古比鱼 发表于 2020-12-30 11:37:18

jackz007 发表于 2020-12-29 18:53
你这个纯属偷懒,别人要求的是正整数,你就应该始终按正整数进行相关操作和判断。

好吧。另外if和else的简写形式学到了!

小古比鱼 发表于 2020-12-30 11:41:46

雷欧库珀 发表于 2020-12-29 19:05
你这个默认不太好,谁也不知道坐在机器前和你的程序进行交互的是不是人

请问有没有必要增加一句判断,判断用户输入的是否为正整数,若不是则给出提示信息,要求用户重新输入?
【注】小甲鱼老师提供的参考答案里没有这样的设计。
页: [1]
查看完整版本: 新版第018讲课后作业动动手第1题(回文数)