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

Python练手题目(八)

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

1. 创建一个电话号码

编写一个接受10个整数(0到9之间)数组的函数,它以电话号码的形式返回这些数字的字符串。

例如: create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])

# => returns "(123) 456-7890

首先需要将数组的元素变成字符串,再对字符串进行拼接处理,用到的函数有join()函数、map()函数以及format()函数。代码如下:

代码语言:javascript
复制
def create_phone_number(nums):
    nums.insert(0,'(')
    nums.insert(4, ') ')
    nums.insert(8, '-')
    return ''.join(map(str,nums))
print(create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]))

细心的小伙伴会发现Python的函数很多,所以我们平时在刷题时,用什么函数需要根据题目要去考虑,然后最好把使用的函数记下来,到最后你会发现,Python的本质是灵活运用函数处理实际问题。

2. 人性化的可读性时间

编写一个函数,它以非负整数(秒)作为输入,并以人类可读的格式返回时间(HH:MM:SS)

- HH =小时,填充到2位数,范围:00 - 99

- MM =分钟,填充到2位数,范围:00 – 59

- SS =秒,填充到2位数,范围:00 - 59

最长时间永远不会超过359999(99:59:59)

题目的本质是时分秒之间的一个换算,当然还需要考虑时和分的余数的取整,代码如下:

代码语言:javascript
复制
def make_readable(second):
    hour = second // 3600
    minute = second % 3600 // 60    #返回商的整数部分(向下取整)
    second = second % 60    #返回除法的余数
    return "{:02}:{:02}:{:02}".format(hour,minute,second)  #{:02}数字宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
print(make_readable(359999))
print(make_readable(60))
print(make_readable(86399))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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