1. 翻转一个数字
给定一个数字,写一个函数输出其反向数字。(例如,给出123答案是321),数字应该保留他们的标志,即反转时负数仍应为负数。
大家看到翻转会不会想到reverse函数呢?如果没有想到也没关系,我们可以想另一种办法 ,需要做的首先对输入的数字进行正负判断,并将输入的数字转化为字符串,然后对字符串进行操作,比如前面用到的join函数,以及format函数。
代码如下:
def reverse_number(num):
if num >= 0:
re_num = int(''.join(str(num)[::-1]))
else:
re_num = int(''.join('-{}'.format(str(-num)[::-1])))
return re_num
print(reverse_number(123))
print(reverse_number(-456))
print(reverse_number(1000))
复制
2. 检查IP
编写一种算法,以十进制格式识别有效的IPv4地址。如果IP由四个八位字节组成,其值在0和之间255,则应视为有效。该函数的输入保证是单个字符串。
例如:有效输入
1.2.3.4
123.45.67.89
无效输入
1.2.3
1.2.3.4.5
123.456.78.90
123.045.067.089
此外,还需要注意的是,前导零(例如01.02.03.04)被视为无效。
我们需要用if判断语句把几种输出为false的情况列举出来,那么其他情况则为True.
代码如下:
def is_valid_IP(IP):
ip = IP.split('.')
if ' ' in IP:
return False
if len(ip) != 4:
return False
for i in ip:
if len(i) >1 and i[0] == '0':
return False
elif eval(i) < 0 or eval(i) >255 or len(i) >3:
return False
return True
print(is_valid_IP('12.255.56.1'))
复制