我正在执行用于执行字符串IP reversing
的代码。
我已经完成了以下相同的代码:
def reverse(ip):
if len(ip) <= 1:
return ip
return reverse(ip[1:]) + ip[0]
ip = '10.1.2.3'
print reverse(ip)
输出我的代码:现在它给出的结果如下:
3.2.1.01
预期输出而不是我需要的结果应显示如下:
3.2.1.10
请有人帮助我。
答案 0 :(得分:4)
你可以试试这个:
def reverse(ip):
if len(ip) <= 1:
return ip
l = ip.split('.')
return '.'.join(l[::-1])
ip = '10.1.2.3'
print reverse(ip)
输出:
3.2.1.10
答案 1 :(得分:1)
你被python坚持认为字符串是字符数组而被绊倒了。如何将它们转换为数字然后将它们反转?
>>> numbers = [int(v) for v in ip.split('.')]
>>> numbers.reverse()
>>> ip_reversed = '.'.join([str(v) for v in numbers])
>>> ip_reversed
'3.2.1.10'
答案 2 :(得分:1)
你可以这样试试,
>>> '.'.join(ip.split('.')[::-1])
'3.2.1.10'
在功能中:
def reverse(ip):
if len(ip) <= 1:
return ip
return '.'.join(ip.split('.')[::-1])