鱼C论坛

 找回密码
 立即注册
查看: 770|回复: 3

[已解决]求助

[复制链接]
发表于 2020-5-15 19:25:40 | 显示全部楼层 |阅读模式

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

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

x
输入一个整数N,逆序输出N的各位数,如果输出的起始是0,则不输出,从非0位开始输出。
测试举例:
测试输入:1234
预期输出:4321
测试输入:3500
预期输出:53

代码:
a = []
i = int(input())
a.append(i)
for i in a[::-1]:
    if (0 in a[-1]):
        for i in a[::-2]:
            print(i)
    else:
        print(i)
程序报错:TypeError: argument of type 'int' is not iterable
请问大家若修改此代码能否实现上述内容,此代码是否根本不可行
最佳答案
2020-5-15 19:50:09
满意的话,给个最佳吧
a = list(input())    # 把这边int改成list ,因为你int后转成整数了,整数是无法迭代的
# 而你直接转列表,他会自动切割开字符串的
for i in a[::-1]:  # 这下面帮你简化下了
    if i == '0':
        continue
    else:
        print(i,end='')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:28:44 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-5-15 19:35 编辑
In=int(input())
Out=0

while In:
    Out=Out*10+In%10
    In//=10

print(Out)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-15 19:50:09 | 显示全部楼层    本楼为最佳答案   
满意的话,给个最佳吧
a = list(input())    # 把这边int改成list ,因为你int后转成整数了,整数是无法迭代的
# 而你直接转列表,他会自动切割开字符串的
for i in a[::-1]:  # 这下面帮你简化下了
    if i == '0':
        continue
    else:
        print(i,end='')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-15 19:56:24 | 显示全部楼层
错误提示你了,整形不支持迭代。也就是说,数字不支持迭代。你的i是数字。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-14 19:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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