1. 创建一个电话号码
编写一个接受10个整数(0到9之间)数组的函数,它以电话号码的形式返回这些数字的字符串。
例如: create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
# => returns "(123) 456-7890
首先需要将数组的元素变成字符串,再对字符串进行拼接处理,用到的函数有join()函数、map()函数以及format()函数。代码如下:
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)
题目的本质是时分秒之间的一个换算,当然还需要考虑时和分的余数的取整,代码如下:
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))