将找出所有玫瑰数并添加进列表

可以康康右边那个代码为什么报错吗,报错的意思是整形不能用于append,可是整数不能也能用append添加进列表吗,而且我也用str函数把i转换成字符串了。

img

这是因为在代码中,你定义了一个空列表 b=[],但是在循环中,你又把 b 定义成了一个整数,因此在执行 b.append(str(i)) 时,会出现 'int' object has no attribute 'append' 的错误。为了解决这个问题,你需要将循环中的 b 改成另一个变量名,例如 result,并在循环结束后将 result 赋值给 b,如下所示:

b = []
result = []
for i in range(1000,9999):
    a=i%10
    b=i//10%10
    c=i//100%10
    d=i//1000
    if a**4+b**4+c**4+d**4==i:
        result.append(str(i))
b = result
print(b)

这样就可以避免出现 'int' object has no attribute 'append' 的错误了。
执行结果如下:

img

直接添加i呀,不用转换str试试