for n1 in range(100,1000,1): if n1[2] ** 3 + n1[1] ** 3 + n1[0] ** 3 == n1: print(n1)哪有问题
时间: 2023-10-31 20:06:22 浏览: 54
这段代码有问题。在第2行中,使用了类似于列表索引的方式去获取数字n1的各个位数,但是n1是一个整数,不是列表或字符串,无法使用索引操作。需要将n1转换为字符串,然后再使用索引操作获取各个位数。修改后的代码如下所示:
```
for n1 in range(100, 1000):
s = str(n1)
if int(s[2]) ** 3 + int(s[1]) ** 3 + int(s[0]) ** 3 == n1:
print(n1)
```
该代码输出的结果是水仙花数:153、370、371、407。
相关问题
n1 = n2 = 1 for i in range(3,n+1): n3 = n1+n2 n1 = n2 n2 = n3 return n3
这段代码是一个斐波那契数列的生成函数,它的作用是生成第n-1个斐波那契数。斐波那契数列是指:第一个数为0,第二个数为1,从第三个数开始,每个数都是前两个数之和。因此,这段代码中n1和n2都初始化为1,然后从i=3开始循环,每次将n3赋值为n1和n2的和,再将n1和n2依次更新为上一次的n2和n3。最后返回的n3就是第n-1个斐波那契数。
for i in range(day): real[i] = sheet.cell(i+2, n1).value
这是一个简单的 Python 代码段,它使用了一个 `for` 循环来遍历一个范围内的数字,并将 Excel 表格中第 `n1` 列中的值分配给一个名为 `real` 的列表中的每个元素。其中 `day` 是循环的次数,`sheet` 是 Excel 工作表对象,`cell` 方法用于获取单元格对象,`value` 属性用于获取单元格的值。需要注意的是,代码中的索引从 2 开始,这是因为在 Excel 表格中行和列的索引从 1 开始。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)