前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python练手题目(九)

Python练手题目(九)

作者头像
stormwen
发布2019-08-05 10:56:01
5470
发布2019-08-05 10:56:01
举报
文章被收录于专栏:公众号:googpy公众号:googpy

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'))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档