如何将包含姓名、社保号、薪水、电话和电子邮件的列表中的电话号码格式化为(xxx)xxx-xxxx?
下面的代码可以根据用户输入的数字生成员工数据,但我不太确定怎么格式化列表中的某些元素,比如电话号码和工资。提前谢谢大家的帮助!
#empty list
employee = \[\]
#employee data for loop
for i in range(5):
print('Enter information for employee #' + str(i + 1) + '.')
employeeName = (input('Enter employee's name: \\n'))
employeeSSN = (input('Enter employee's SSN: \\n'))
employeePhone = int(input('Enter employee's 10-Digit Phone #: \\n'))
employeeEmail = (input('Enter employee's Email: \\n'))
employeeSalary = (input('Enter employee's Salary: \\n'))
employee.append(\[employeeName, employeeSSN,employeePhone,employeeEmail,employeeSalary\])
#index
index = int(input('Enter a value 1-5 to print corresponding employee information, or 0 to exit.'))
if index == 1:
print(employee\[0\])
elif index == 2:
print(employee\[1\])
elif index == 3:
print(employee\[2\])
elif index == 4:
print(employee\[3\])
elif (index== 5):
print(employee\[4\])
else:
print('Goodbye!')
我尝试添加以下内容,并创建一个新变量来格式化电话号码,但就是没法让它工作。我就是搞不懂怎么格式化列表中某个元素的部分内容。
#empty list
employee = \[\]
#employee data for loop
for i in range(5):
print('Enter information for employee #' + str(i + 1) + '.')
employeeName = (input('Enter employee's name: \\n'))
employeeSSN = (input('Enter employee's SSN: \\n'))
employeePhone = int(input('Enter employee's 10-Digit Phone #: \\n'))
last4 = employeePhone % 10000
mid3 = employeePhone % 1000
areaCode = employeePhone
Phone = ('(',areaCode,')',mid3,'-',last4)
employeeEmail = (input('Enter employee's Email: \\n'))
employeeSalary = (input('Enter employee's Salary: \\n'))
employee.append(\[employeeName, employeeSSN,Phone,employeeEmail,employeeSalary\])
#index
index = int(input('Enter a value 1-5 to print corresponding employee information, or 0 to exit.'))
if index == 1:
print(employee\[0\])
elif index == 2:
print(employee\[1\])
elif index == 3:
print(employee\[2\])
elif index == 4:
print(employee\[3\])
elif (index== 5):
print(employee\[4\])
else:
print('Goodbye!')\`
1 个回答
1
解决你问题的方法可能是:
employee = []
#employee data for loop
for i in range(1):
print('Enter information for employee #' + str(i + 1) + '.')
employeeName = input("Enter employee's name:\n")
employeeSSN = input("Enter employee's SSN:\n")
employeePhone = int(input("Enter employee's 10-Digit Phone\n"))
Phone = "({}){}-{}".format(str(employeePhone)[:3], str(employeePhone)[3:6], str(employeePhone)[6:])
employeeEmail = (input("Enter employee's Email: \n"))
employeeSalary = (input("Enter employee's Salary: \n"))
employee.append([employeeName, employeeSSN,Phone,employeeEmail,employeeSalary])
#index
index = int(input('Enter a value 1-5 to print corresponding employee information, or 0 to exit: '))
if index == 1:
print(employee[0])
elif index == 2:
print(employee[1])
elif index == 3:
print(employee[2])
elif index == 4:
print(employee[3])
elif (index== 5):
print(employee[4])
else:
print('Goodbye!')
这里的 employeePhone 是通过 format() 方法把输入的10位数字格式化成 (xxx)xxx-xxxx 这种样式。
Phone = "({}){}-{}".format(str(employeePhone)[:3], str(employeePhone)[3:6], str(employeePhone)[6:])