N=int(input()) str_N=str(N) N_list=list(str_N) for i in range(N_list): if N%i==0: print(f'i')哪里错了
时间: 2024-02-19 22:58:18 浏览: 99
cours_python-(2).zip_exercice python_python
这段代码有几个问题:
1. 缺少代码块的缩进,Python 语言非常注重代码块的缩进,没有正确的缩进会导致程序运行出错。
2. 在第 3 行,将整型 N 转为字符串 str_N,然后在第 4 行将其转为列表 N_list,这样做是没有必要的,我们可以直接把 N 转为列表。
3. 在第 6 行,for 循环的参数应该是 range(len(N_list)),而不是 range(N_list)。
4. 在第 7 行,应该使用 N 而不是 i,因为我们要判断的是 N 是否能被 i 整除。
5. 在第 7 行,应该使用 print(f'{i}') 而不是 print(f'i'),因为我们想要输出的是 i 的值。
下面是修改后的代码:
```
N = int(input())
N_list = list(str(N))
for i in range(len(N_list)):
if int(N_list[i]) != 0 and N % int(N_list[i]) == 0:
print(f'{int(N_list[i])}')
```
阅读全文