从键盘输入一个不多于3位的正整数,要求:求出它是几位数;分别输出每一位数字;按逆序输出各位数字。例如:原数为321,应输出123。
时间: 2024-09-25 19:05:42 浏览: 19
要从键盘输入一个不超过三位的正整数并实现这个功能,你可以按照以下步骤编写程序:
1. 首先获取用户的输入,然后检查它是否是一个不超过三位的正整数。可以使用条件判断和循环结构来实现。
```python
num = int(input("请输入一个1到3位的正整数:"))
```
2. 检查输入的数位数,如果大于3,则提示用户输入错误。
```python
if num < 0 or num >= 10**3:
print("输入错误,只能输入1到999之间的正整数。")
else:
```
3. 接下来,我们可以使用取余运算和除法来分解数字,并打印每一位数字。
```python
# 计算位数
digits_count = len(str(num))
# 输出每一位数字
for i in range(digits_count):
digit = num % 10
print(digit, end="")
num //= 10
```
4. 最后,为了按逆序输出,我们可以在输出每一位之前存储起来,然后在所有数字都处理完后再反向打印。
```python
# 反转数组并输出
reversed_digits = [digit for digit in reversed(range(1, digits_count+1))]
print("\n按逆序输出每位数字:", *reversed_digits)
```
完整的代码示例如下:
```python
num = int(input("请输入一个1到3位的正整数:"))
if num < 0 or num >= 10**3:
print("输入错误,只能输入1到999之间的正整数。")
else:
digits_count = len(str(num))
# 输出每一位数字
for i in range(digits_count):
digit = num % 10
print(digit, end="")
num //= 10
# 反转数组并输出
reversed_digits = [digit for digit in reversed(range(1, digits_count + 1))]
print("\n按逆序输出每位数字:", *reversed_digits)
```