python输入一个1000以内的正整数 n,在同一行内输出 [0,n] 之间各位数字之和为5的数,数字之间用空格分开(行末不输出空格)。
时间: 2024-05-07 17:22:40 浏览: 111
python 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 (示例)
5星 · 资源好评率100%
可以使用一个循环来遍历 [0, n] 之间的数,对于每个数,计算其各位数字之和,如果等于5则输出。
以下是代码实现:
```python
n = int(input())
for i in range(n+1):
digits_sum = sum(map(int, str(i))) # 计算各位数字之和
if digits_sum == 5:
print(i, end=' ')
```
这里用到了 `map` 函数将整数转为字符串,然后用 `sum` 函数计算各位数字之和。注意在 `print` 函数中设置 `end` 参数为 `' '`,表示输出数字后不换行,而是输出一个空格。最后一次输出后不需要空格,因此可以不设置 `end` 参数,这样 `print` 函数会自动在每次输出后换行。
阅读全文