如何将包含姓名、社保号、薪水、电话和电子邮件的列表中的电话号码格式化为(xxx)xxx-xxxx?

0 投票
1 回答
46 浏览
提问于 2025-04-14 15:33

下面的代码可以根据用户输入的数字生成员工数据,但我不太确定怎么格式化列表中的某些元素,比如电话号码和工资。提前谢谢大家的帮助!

#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:])

撰写回答