题目来源于Codewars - Achieve mastery through coding practice and developer mentorship
习题1:
Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number.
Example
create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) # => returns "(123) 456-7890"
The returned format must be correct in order to complete this challenge.
Don't forget the space after the closing parentheses!
解题思路:
题目输入的n为一个固定长度的list,目标输出为各元素结合起来的字符串,但是我们不能直接用str(n)来转化n,因为这样会导致' [ '和' ] '以及标点符号也变成字符串的一部分,如下图所示
因此,我们可以先把n中各元素转化为字符,再使用join函数合并字符串列表,再按照要求加入括号和空格即可。
解题代码:
def create_phone_number(n):
for i in range(0, 10):
n[i] = str(n[i])
mid = ''.join(n)
result = '(' + mid[0:3] + ')' + mid[3:6] + '-' + mid[6:10]
print(result)