def main(): N = int(input()) for num in range(N+1): sum = 0 temp = num while temp != 0: sum = sum + temp % 10 #**********begin********** temp = temp / 10 #**********end********** if sum == 8: print(num,end = ' ') main() 哪里错误
时间: 2023-06-29 11:20:08 浏览: 89
下面是一个用Python编程求阶乘和数的例子: def factorial(n): if n == 0 or n ==
在代码中,`temp` 是一个整数,而在 `temp = temp / 10` 这行代码中,你使用了除法 `/` 运算符,其结果是一个浮点数,因此会导致程序错误。你需要使用整除运算符 `//` 来进行整数除法,如下所示:
```python
def main():
N = int(input())
for num in range(N+1):
sum = 0
temp = num
while temp != 0:
sum = sum + temp % 10
temp = temp // 10 # 注意这里使用了整除运算符 //
if sum == 8:
print(num,end = ' ')
main()
```
这样就可以正确地输出0到N之间各位数字之和为8的数了。
阅读全文