鱼C论坛

 找回密码
 立即注册
查看: 3035|回复: 6

[已解决]python新手学完python第18课的回文数题目交流

[复制链接]
发表于 2022-11-1 16:37:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hjbhkjsjhd 于 2022-11-1 16:41 编辑

temp = input("请输入一个正整数:")

end = 0

for each in temp:
    each = int(each)

    end = int(temp) % 10
    if each == end and int(temp) > 10 :
        temp = int(temp) // 10
        continue
    if each == end:
        print("是回文数")

    else:
        print("不是回文数")

python小白,刚学完第18课,回文数题目运用极有限的知识写了上述代码,但是有点问题,请大神指导下。
主要想法就是把一串数字从第一位一直比到最后一位。
刚学,所以变量的名称用的不太专业,求大佬指导下。
最佳答案
2022-11-1 16:47:29
可以在最后加上一句break
temp = input("请输入一个正整数:")

end = 0

for each in temp:
    each = int(each)

    end = int(temp) % 10
    if each == end and int(temp) > 10 :
        temp = int(temp) // 10
        continue
    if each == end:
        print("是回文数")

    else:
        print("不是回文数")
        break
(这道题如果用字符串切片的话很好做的)
temp = input("请输入一个正整数:")
if temp == temp[::-1]:
    print("是回文数")
else:
    print("不是回文数")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-1 16:46:03 | 显示全部楼层
逻辑混乱,错误太多  没法改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2022-11-1 16:46:30 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-1 16:55 编辑

1、应该直接用字符比较
2、通过循环用索引成对比较字符串中的对应元素
3、每次比较两个字符,循环次数是字符数量的一半
4、单次比较只能否定(判定不是回文数),而确定回文数必须要等循环结束(比完每一对字符)之后。
temp = input("请输入一个正整数:")
for each in range(len(temp) // 2):
    if temp[each] != temp[-1 - each]:
        print("不是回文数")
        break
else:
    print("是回文数")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-11-1 16:47:29 | 显示全部楼层    本楼为最佳答案   
可以在最后加上一句break
temp = input("请输入一个正整数:")

end = 0

for each in temp:
    each = int(each)

    end = int(temp) % 10
    if each == end and int(temp) > 10 :
        temp = int(temp) // 10
        continue
    if each == end:
        print("是回文数")

    else:
        print("不是回文数")
        break
(这道题如果用字符串切片的话很好做的)
temp = input("请输入一个正整数:")
if temp == temp[::-1]:
    print("是回文数")
else:
    print("不是回文数")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-11-1 16:50:23 | 显示全部楼层
tommyyu 发表于 2022-11-1 16:47
可以在最后加上一句break
(这道题如果用字符串切片的话很好做的)

嗯嗯,加了break就正常了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-1 16:52:52 | 显示全部楼层
wp231957 发表于 2022-11-1 16:46
逻辑混乱,错误太多  没法改

逻辑好像没啥问题吧,结尾加个break输入正整数应该都能判断出来啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-1 16:54:19 | 显示全部楼层
hjbhkjsjhd 发表于 2022-11-1 16:50
嗯嗯,加了break就正常了

谢谢大佬,因为才学到循环,所以后边的可能还要学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 09:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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