Hướng dẫn alphabetic telephone number translator python - phiên dịch số điện thoại bảng chữ cái python

"""
This Program will ask the user to enter a 10-character telephone number in the format of
XXX-XXX-XXXX. The application should display the telephone number with any alphabetic characters that
appeared in the original translated to their numberic equivalent. For example,
if the user enters 555-GET-FOOD the application should display 555-438-3663
"""

phoneNum = input("Enter the number in the format of XXX-XXX-XXXX: ")

phoneNum= phoneNum.split('-')

for var in phoneNum[1:2]:
      for char in phoneNum:
            if char == 'A' or char == 'B' or char == 'C':
                  char == '2'
            elif char == 'D' or char == 'E' or char == 'F':
                  char = '3'
            elif char == 'G' or char == 'H' or char == 'I':
                  char = '4'
            elif char == 'J' or char == 'K' or char == 'L':
                  char = '5'
            elif char == 'M' or char == 'N' or char == 'O':
                  char = '6'
            elif char == 'P' or char == 'Q' or char == 'R' or char == 'S':
                  char = '7'
            elif char == 'T' or char == 'U' or char == 'V':
                  char = '8'
            elif char == 'W' or char == 'X' or char == 'Y' or char == 'Z':
                  char = '9'

print(phoneNum)

Trên đây là mã của tôi và câu hỏi là đặt ra những điều sau: Người dịch số điện thoại Albetic: Các công ty sử dụng số điện thoại như 555-get-Food để số lượng khách hàng của họ dễ nhớ hơn. Trên điện thoại tiêu chuẩn, các chữ cái chữ cái được ánh xạ tới các số theo kiểu sau: A, B và C = 2 D, E và F = 3 G, H và I = 4 J, K và L = 5 M , N và O = 6 P, Q, R và S = 7 T, U và V = 8 W, X, Y và Z = 9 Viết một chương trình yêu cầu người dùng nhập số điện thoại 10 ký tự Trong định dạng xxx-xxx-xxxx. Ứng dụng sẽ hiển thị số điện thoại với bất kỳ ký tự chữ cái nào xuất hiện trong bản gốc được dịch thành số tương đương số của chúng. Ví dụ: nếu người dùng nhập 555 get-thực phẩm, ứng dụng sẽ hiển thị 555-438-3663
albetic Telephone Number Translator: companies use telephone numbers like 555-GET-FOOD so the number is easier for their customers to remember. On a standard telephone, the alphabetic letters are mapped to numbers in the following fashion:A, B, and C = 2 D, E, and F = 3 G, H, and I = 4 J, K, and L = 5 M, N, and O = 6 P, Q, R, and S = 7 T, U, and V = 8 W, X, Y, and Z = 9 Write a program that asks the user to enter a 10-character telephone number in the format XXX-XXX-XXXX. The application should display the telephone number with any alphabetic characters that appeared in the original translated to their numeric equivalent. For example, if the user enters 555-GET-FOOD the application should display 555-438-3663

Bài viết: 818818

Chủ đề: 11

Tham gia: Mar 2018Mar 2018

Danh tiếng: 111 111

phone_table = str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ', '22233344455566677778889999')
'111-YOUR-NUMBER'.translate(phone_table)

Output:

111-9687-686237

Bài viết: 504504

Chủ đề: 00

Tham gia: Tháng 2 năm 2018Feb 2018

Danh tiếng: 36 36

Tháng Tư-24-2018, 05:22 PM (Bài đăng này đã được sửa đổi lần cuối: Tháng 4-24-2018, 06:12 PM bởi Woooee.) (This post was last modified: Apr-24-2018, 06:12 PM by woooee.)

Bạn đang thay đổi char, vì vậy phonenum vẫn giữ nguyên. Thêm char vào một biến mới sau khi nó được thay đổi (nhưng đó không phải là vấn đề duy nhất với mã của bạn). Ngoài ra, hướng dẫn kiểu Python chỉ đề xuất sử dụng chữ cái và gạch chân chữ thường cho các tên biến.

new_phone_num=""
## code to change char
## you can use the following to simplify
if char in 'ABC':

## rest of code
new_phone_num += char 

Bài viết: 44

Chủ đề: 33

Tham gia: Mar 2018Mar 2018

Danh tiếng: 111 0

Bài viết: 504woooee Wrote: You are changing char, so phoneNum stays the same. Add char to a new variable after it is changed (but that is not the only problem with your code). Also, the Python Style Guide suggests only using lower case letter and underlines for variable names.
new_phone_num=""
## code to change char
## you can use the following to simplify
if char in 'ABC':

## rest of code
new_phone_num += char 

Chủ đề: 0

phoneNum = input("Enter the number in the format of XXX-XXX-XXXX: ")
new_phone_num =""
 
for var in phoneNum[1:2]:
      if char in 'ABC':
            if char == 'A' or char == 'B' or char == 'C':
                  char == '2'
            elif char == 'D' or char == 'E' or char == 'F':
                  char = '3'
            elif char == 'G' or char == 'H' or char == 'I':
                  char = '4'
            elif char == 'J' or char == 'K' or char == 'L':
                  char = '5'
            elif char == 'M' or char == 'N' or char == 'O':
                  char = '6'
            elif char == 'P' or char == 'Q' or char == 'R' or char == 'S':
                  char = '7'
            elif char == 'T' or char == 'U' or char == 'V':
                  char = '8'
            elif char == 'W' or char == 'X' or char == 'Y' or char == 'Z':
                  char = '9'
new_phone_num += char
 
print(new_phone_num)

Tham gia: Tháng 2 năm 2018

Bài viết: 504504

Chủ đề: 00

Tham gia: Tháng 2 năm 2018Feb 2018

Danh tiếng: 36 36

Tháng Tư-24-2018, 05:22 PM (Bài đăng này đã được sửa đổi lần cuối: Tháng 4-24-2018, 06:12 PM bởi Woooee.)