如何在键盘无论输入123还是-123,分离出百位,十位和个位后,计算并输出他的逆序数
时间: 2024-10-13 15:18:23 浏览: 26
从键盘输入一个三位整数,逆序输出。如输入123,输出321。
如果你想让用户输入一个三位数(包括正负),然后分离出百位、十位和个位,计算逆序数并输出,你可以按照以下步骤设计一个简单的Python程序:
首先,我们需要处理输入的合法性,然后分割出每一位数字,最后计算逆序数。
```python
def process_input(input_str):
if not (input_str.isdigit() or (input_str[0] == '-' and input_str[1:].isdigit())):
return "输入错误,请输入三位数或带负号的三位数"
sign, digits = ('', '') if input_str[0] != '-' else ('-', input_str[1:])
num = int(digits)
if len(str(num)) != 3:
return f"输入错误,{input_str}不是一个三位数"
return sign, num // 100, num % 100
def reverse_number(n):
return int(str(n)[::-1]) # 将数字的顺序反转
def main():
input_str = input("请输入一个三位数(如123或-123):")
result = process_input(input_str)
if isinstance(result, str): # 检查是否为错误消息
print(result)
else:
sign, hundred, ten_and_one = result
reversed_num = reverse_number(hundred * 100 + ten_and_one)
print(f"{sign}{reversed_num}")
if __name__ == "__main__":
main()
```
在这个程序中,我们首先检查输入的有效性,然后将其拆分为正负号和三位数字。接着计算逆序数,即取百位、十位和个位的逆序组合,并返回结果。
阅读全文