a382418718 发表于 2020-5-15 19:25:40

求助

输入一个整数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:28:44

本帖最后由 永恒的蓝色梦想 于 2020-5-15 19:35 编辑

In=int(input())
Out=0

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

print(Out)

Twilight6 发表于 2020-5-15 19:50:09

满意的话,给个最佳吧{:10_287:}
a = list(input())    # 把这边int改成list ,因为你int后转成整数了,整数是无法迭代的
# 而你直接转列表,他会自动切割开字符串的
for i in a[::-1]:# 这下面帮你简化下了
    if i == '0':
      continue
    else:
      print(i,end='')

heidern0612 发表于 2020-5-15 19:56:24

错误提示你了,整形不支持迭代。也就是说,数字不支持迭代。你的i是数字。
页: [1]
查看完整版本: 求助