我正在试图弄清楚如何将括号和短划线插入到作为输出的电话号码。我正在使用python 3.5

时间:2016-11-07 02:33:16

标签: python

第一部分工作正常,但第二部分则不然。我无法让它工作,以便将输出phoneNumber从上面的格式转换为(XXX)XXX-XXXX),例如,如果我输入9999999999,我希望下面添加括号和短划线。

def main():
phoneNumber=int(input("Enter a 10 digit unformatted telephone number in the format ##########: "))
length = len("phoneNumber")
index=0


if (length ==10):
    phoneNumber=True
if phoneNumber:
    print("The unformatted number is: ",phoneNumber)

else:
    print("The telephone number was NOT entered in unformatted format ##########.")


phoneNumber= phoneNumber.insert(0,"(")
phoneNumber= phoneNumber.insert(4,")")
phoneNumber= phoneNumber.insert(8,"-")
print("The formatted number is: ",phoneNumber)


main()

1 个答案:

答案 0 :(得分:0)

字符串和整数不允许使用insert函数。您可以直接使用此修改过的函数。:

def main():
    phoneNumber=int(input("Enter a 10 digit unformatted telephone number in the format ##########: "))
    tempNumber = []
    phoneNumber = str(phoneNumber)
    length = len(phoneNumber)
    index=0
    print(length)


    if (length ==10):
        print("The unformatted number is: ",phoneNumber)
    else:
        print("The telephone number was NOT entered in unformatted format ##########.")

    for num in phoneNumber:     # string to list conversion by iteration
        tempNumber.append(num)

    tempNumber.insert(0,"(")
    tempNumber.insert(4,")")
    tempNumber.insert(8,"-")
    phoneNumber = ''.join(tempNumber)
    print(phoneNumber)

main()