Python数字反转(P046):给定一个整数(可以是负的),请将该数各个位上数字反转 到一个新数。新数不得有多余的前导0
时间: 2024-10-25 17:05:31 浏览: 16
p046基于Django的高校教室管理系统.zip(Python毕设源码+sql文件+文档)
在Python中,你可以使用字符串操作或者列表切片的方式来实现数字的反转。这里提供两种常见的方法:
1. **字符串转换法**:
首先将整数转换成字符串,然后利用字符串的切片操作反转字符串,最后再将反转后的字符串转换回整数。需要注意的是,如果原数已经是负数,需要在转换成字符串后再判断第一位字符是否为`-`,并保持其顺序。
```python
def reverse_number(num):
str_num = str(abs(num)) # 将绝对值转为字符串
reversed_str = str_num[::-1] # 反转字符串
if num < 0: # 如果原数为负,添加负号
reversed_str = '-' + reversed_str
return int(reversed_str) # 转换回整数
# 示例
print(reverse_number(-54321
```
2. **迭代法**:
通过遍历每一位并将它们逐个添加到结果中,这种方法对于处理大数也相对简单,避免了字符串操作。
```python
def reverse_number_iterative(num):
result = 0
is_negative = False
if num < 0:
is_negative = True
num = -num
while num > 0:
digit = num % 10
result = (result * 10) + digit
num //= 10
if is_negative:
result *= -1
return result
# 示例
print(reverse_number_iterative(-12345)) # 输出:-54321
```
阅读全文