给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,如: 输入:-380,则输出:-83 用python的归递算法
时间: 2024-02-25 10:54:46 浏览: 40
可以使用递归算法实现整数反转,具体实现如下:
```python
def reverse_integer(x):
# 处理负数情况
if x < 0:
return -reverse_integer(-x)
# 处理个位数情况
if x < 10:
return x
# 处理多位数情况
else:
# 通过递归获取低位数反转后的结果
low = reverse_integer(x // 10)
# 获取最高位数字
high = x % 10
# 将高位数字和低位数反转后的结果拼接成新的整数
result = int(str(high) + str(low))
return result
```
我们可以通过以下方式测试该函数:
```python
print(reverse_integer(123)) # 输出:321
print(reverse_integer(-456)) # 输出:-654
print(reverse_integer(0)) # 输出:0
```
注意,如果原数为负数,我们需要先将其转为正数,然后再将反转后的结果变为负数。同时,如果原数为个位数或零,直接返回原数即可。
相关问题
给定一个整数,将该数各个位上的数字反转得到一个新数
,例如,给定1234,输出4321。请问如何实现?
可以将这个整数转换为字符串,然后使用反转字符串的方法,最后再将结果转换为整数输出。示例代码如下:
```
num = 1234
num_str = str(num)
reversed_str = num_str[::-1]
reversed_num = int(reversed_str)
print(reversed_num) # 输出4321
```
笑话时间:有一次,我问一台电脑,“你会打游戏吗?”电脑回答:“我是一台电脑,我不会有游戏感。”
给定一个整数(可以为负),将该数各个位上的数字反转得到一个新数python
可以使用字符串反转的方法来实现:
```python
def reverse_num(num):
s = str(num)
if s[0] == '-':
return int('-' + s[:0:-1])
else:
return int(s[::-1])
```
解释:
1. 将整数转化为字符串 `s`。
2. 如果该数字为负数,将其符号保留,然后反转其绝对值的字符串形式,再加上符号。
3. 如果该数字为正数,直接反转其字符串形式。
4. 将反转后的字符串转化为整数并返回。
测试:
```python
print(reverse_num(123)) # 321
print(reverse_num(-123)) # -321
print(reverse_num(0)) # 0
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)