3、编写程序,输入一个不多于4位的正整数,完成下列要求:判断它是几位数,如输入152,输出3输出每一位的数码,如输入152,输出1,5,2逆序输出这个数,如输入152,输出251输入示例:152输出:152是3位数,数码是1、5、2,逆序数字是251
时间: 2023-09-08 12:05:03 浏览: 42
### 回答1:
num = input("请输入一个不多于4位的正整数:")
length = len(num)
print(num, "是", length, "位数")
print("数码是", end="")
for i in num:
print(i, end="、")
print("\n逆序数字是", num[::-1])
### 回答2:
编写一个程序,实现以上要求:
```python
def process_number(num):
# 转化成字符串
num_str = str(num)
# 判断位数
length = len(num_str)
print("%d是%d位数" % (num, length))
# 输出每一位的数码
digits = []
for digit in num_str:
digits.append(int(digit))
print("数码是" + "、".join(map(str, digits)))
# 逆序输出
reverse_num = int(num_str[::-1])
print("逆序数字是%d" % reverse_num)
# 主程序
if __name__ == "__main__":
num = int(input("请输入一个不多于4位的正整数:"))
process_number(num)
```
运行示例:
```
请输入一个不多于4位的正整数:152
152是3位数
数码是1、5、2
逆序数字是251
```
### 回答3:
编写程序可以使用以下伪代码实现:
1. 输入一个不多于4位的正整数,保存到变量num中。
2. 如果num小于10,输出num是1位数,数码是num,逆序数字是num。
3. 如果num小于100,输出num是2位数,数码是num的十位数和个位数,逆序数字是num的个位数和十位数。
4. 如果num小于1000,输出num是3位数,数码是num的百位数,十位数和个位数,逆序数字是num的个位数、十位数和百位数。
5. 如果num小于10000,输出num是4位数,数码是num的千位数,百位数,十位数和个位数,逆序数字是num的个位数、十位数、百位数和千位数。
实现代码如下:
```python
num = int(input("请输入一个不多于4位的正整数:"))
if num < 10:
print("{}是1位数,数码是{},逆序数字是{}".format(num, num, num))
elif num < 100:
digit1 = num // 10
digit2 = num % 10
print("{}是2位数,数码是{}、{},逆序数字是{}{}".format(num, digit1, digit2, digit2, digit1))
elif num < 1000:
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
print("{}是3位数,数码是{}、{}、{},逆序数字是{}{}{}".format(num, digit1, digit2, digit3, digit3, digit2, digit1))
elif num < 10000:
digit1 = num // 1000
digit2 = (num // 100) % 10
digit3 = (num // 10) % 10
digit4 = num % 10
print("{}是4位数,数码是{}、{}、{}、{},逆序数字是{}{}{}{}".format(num, digit1, digit2, digit3, digit4, digit4, digit3, digit2, digit1))
```
运行示例:
请输入一个不多于4位的正整数:152
152是3位数,数码是1、5、2,逆序数字是251。