愿此后再无WA 2022-02-25 02:47 采纳率: 94.1%
浏览 35
已结题

一道初学者题帮我看看哪里错了

不会吧不会吧,一道初学者的题目我都没AC,说出去怕被笑死,麻烦各位帮我看下哪里的思路有问题?

img

su = int(input())
for i in range(100,1000):
    
    g = i % 10
    s = i // 10 % 10
    b = i // 100
    
    suit1 = 2 * (g+s+b) 
    suit2 = 2 * (s+b) + g

    if suit1 == su:
        i = str(i)
        print(i+i[::-1])
        
    elif suit2 == su:
        i = str(i)
        print(i+i[::-1][1:])

稍微看了一下别人怎么写的,他们是列举一万到十万之间的数来一一比较,感觉这样效率太低了

  • 写回答

2条回答 默认 最新

  • 於黾 2022-02-25 03:07
    关注

    1.i是个int,不是str,你对int切片?先转str再切片
    2.按从小到大的顺序输出,那么肯定是先输出所有5位的,再输出6位的
    你这是穿插着输出的,肯定不对呀

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    愿此后再无WA 2022-02-25 03:23

    没有,我的i转了str,应该就是顺序的问题了

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月25日
  • 创建了问题 2月25日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部