Hướng dẫn convert letters to phone numbers python - chuyển đổi chữ cái sang số điện thoại python

Tôi đang cố gắng hoàn thành một mã chuyển đổi các chữ cái thành chuỗi số điện thoại. Những gì tôi cần là làm ví dụ Jeromeb đến 537-6632. Ngoài ra, tôi cần chương trình để cắt bản dịch chữ cái sau chữ số cuối cùng có thể. Vì vậy, ví dụ sau 1-800-Jeromeb ngay cả khi tôi viết trong 1-800-Jeromebrigham, nó sẽ không mã hóa điều đó. Điều này là mặc dù tôi không hiểu làm thế nào để ngụ ý điều đó vào mã của tôi. Tôi không biết hiểu để cắt chữ cuối cùng và đưa vào dấu gạch ngang. Những gì tôi hiện có là cái này

alph = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',\
        'q','r','s','t','u','v','w','x','y','z']
num =[2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9]


phone = raw_input('enter phone number ').lower()

s = ""
for index in range(len(phone)):
    if phone[index].isalpha():
        s = s + str(num[alph.index(phone[index])])
    else:
        s = s + phone[index]
print s  

Tôi đã rất cố gắng hết sức cho cái này, cuối cùng đã đưa ra điều này, tuy nhiên, có không gian giữa mỗi số trong kết quả của tôi vì mã 'in xxx', tôi muốn tìm cách xóa các không gian đó. Chương trình: Hãy để người dùng nhập nói 555-get-food, chuyển đổi nó thành 555-438-3663
Program: let user enter say 555-GET-FOOD, convert it to 555-438-3663

alph = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',\
            'q','r','s','t','u','v','w','x','y','z']
num =[2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9]

phone = raw_input('enter phone number in the format xxx-xxx-xxxx ').lower()

index = 0
for index in range(len(phone)):
    if phone[index].isalpha():
        print num[alph.index(phone[index])],
    else:
        print phone[index],

Đây là một khóa học Python rất giới thiệu, tôi đã thực hiện một số nghiên cứu trực tuyến, mọi người sử dụng từ điển và enu một cái gì đó hoặc tham gia mà chúng tôi không bao giờ đề cập trong lớp. Bên cạnh mã tôi đã sử dụng trong chương trình của mình, tôi đã cố gắng sử dụng 'thay thế', nhưng không thành công. Tôi đã mất hàng giờ để đưa ra mã tôi đã có nhưng tôi muốn làm cho nó hoàn hảo mà không có không gian, vì vậy bất kỳ sự giúp đỡ nào cũng sẽ được đánh giá cao.
It took me hours to came up with the code I already have but I want to make it perfect without the spaces, so any help will be appreciated.

Vấn đề tôi gặp phải là tôi không thể có một vòng lặp để làm việc để làm cho chương trình chạy đi chạy lại.

Chỉnh sửa: Vòng lặp cố định

Thứ hai là đầu ra của tôi là in một chữ cái mà số được cho là thay thế. Tôi không chắc điều gì đang xảy ra.

Chỉnh sửa: Đã sửa các ký tự bổ sung


Xác định quy trình chính

def main ():

# Initialize the variables
sum_caps = 0  # Detecting number of capital letters
sum_lows = 0  # Detecting number of lower case letters
alpha_to_num = ''  # Translation of letters into numbers
phone_number = 'a'

while len(phone_number) != 0:

    # Prompt the user to imput variable
    print('Please enter a phone number or press <ENTER> to exit:')  #  Give user instructions
    phone_number = input()  # Define the variable #Note: may need to declare this a string later


    # Loop through the string to sum capital letters
    for counter in range(0, len(phone_number)):
        char = phone_number[counter]

        # Sum if capital
        if char.isupper():
            sum_caps += 1

    # Loop through the string to get sum of lower letters
    for counter in range(0, len(phone_number)):
        char = phone_number[counter]

        # Sum if lower
        if char.islower():
            sum_lows += 1


    # Loop through the string to convert letters to numbers
    for counter in range(0, len(phone_number)):
        char = phone_number[counter]

        
        if char >= 'A' and char <= 'C':
            alpha_to_num += '2'

        elif char >= 'a' and char <= 'c':
            alpha_to_num += '2'

        elif char >= 'D' and char <= 'F':
            alpha_to_num += '3'

        elif char >= 'd' and char <= 'f':
            alpha_to_num += '3'

        elif char >= 'G' and char <= 'I':
            alpha_to_num += '4'

        elif char >= 'g' and char <= 'i':
            alpha_to_num += '4'

        elif char >= 'J' and char <= 'L':
            alpha_to_num += '5'

        elif char >= 'j' and char <= 'l':
            alpha_to_num += '5'

        elif char >= 'M' and char <= 'O':
            alpha_to_num += '6'

        elif char >= 'm' and char <= 'o':
            alpha_to_num += '6'

        elif char >= 'P' and char <= 'S':
            alpha_to_num += '7'

        elif char >= 'p' and char <= 's':
            alpha_to_num += '7'

        elif char >= 'T' and char <= 'V':
            alpha_to_num += '8'

        elif char >= 't' and char <= 'v':
            alpha_to_num += '8'

        elif char >= 'W' and char <= 'Z':
            alpha_to_num += '9'

        elif char >= 'w' and char <= 'z':
            alpha_to_num += '9'

        else:
            alpha_to_num += char

    print(alpha_to_num)

main()


Giả sử chúng ta có một chuỗi chứa các chữ số từ 2-9 bao gồm. Chúng ta phải trả lại tất cả các kết hợp chữ cái có thể mà số có thể đại diện. Một ánh xạ chữ số đến các chữ cái (giống như trên các nút điện thoại) được đưa ra dưới đây. Lưu ý rằng 1 không ánh xạ tới bất kỳ chữ cái nào.

1 2a b c
a b c
3d e f
d e f
4g h i
g h i
5J k l
j k l
6m n o
m n o
7p q r s
p q r s
8T u v
t u v
9w x y z
w x y z
*
0 #

Ví dụ, nếu chuỗi đã cho là, 23, thì các chuỗi có thể sẽ là [ad ad ad ", CF CF]]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước này -

  • Xác định một mảng được gọi là giải quyết để giải quyết vấn đề một cách đệ quy
  • Giải quyết phương thức lấy các chữ số, ký tự, kết quả, current_string và current_level, hàm sẽ giống như
  • Nếu current_level = độ dài của các chữ số, thì hãy thêm chuỗi hiện tại sau kết quả và trả về
  • Đối với tất cả các ký tự I trong ký tự [chữ số [current_level]]
    • thực hiện giải quyết (chữ số, ký tự, kết quả, current_string + i, current_level + 1)
  • Chức năng thực tế sẽ giống như
  • Nếu chiều dài chữ số là 0, thì hãy trả lại một danh sách trống
  • Xác định một bản đồ để giữ số và các ký tự tương ứng là một chuỗi
  • Kết quả: = một danh sách trống
  • Gọi giải quyết (chữ số, ký tự, kết quả, Hồi, 0)

Example(Python)

Hãy cho chúng tôi xem triển khai sau đây để hiểu rõ hơn -

& nbsp; bản demo trực tiếp

class Solution(object):
   def letterCombinations(self, digits):
      if len(digits) == 0:
         return []
      characters = {2:"abc",3:"def",4:"ghi",5:"jkl",6:"mno",7:"pqrs",8:"tuv",9:"wxyz"}
      result = []
      self.solve(digits,characters,result)
      return result
   def solve(self, digits, characters, result, current_string="",current_level = 0):
      if current_level == len(digits):
         result.append(current_string)
         return
      for i in characters[int(digits[current_level])]:
         self.solve(digits,characters,result,current_string+i,current_level+1)
ob1 = Solution()
print(ob1.letterCombinations("37"))

Đầu vào

"37"

Đầu ra

["dp","dq","dr","ds","ep","eq","er","es","fp","fq","fr","fs"]

Hướng dẫn convert letters to phone numbers python - chuyển đổi chữ cái sang số điện thoại python

Cập nhật vào ngày 27 tháng 4 năm 2020 12:16:20

  • Câu hỏi và câu trả lời liên quan
  • Chương trình Python để tìm xác suất nhận chữ 'A' trong một số chữ cái và kết hợp kích thước k
  • Chương trình tìm số điện thoại được định dạng lại trong Python
  • Làm thế nào để có được số điện thoại của điện thoại iOS theo chương trình?
  • Làm thế nào để có được số điện thoại của điện thoại Android lập trình?
  • Chương trình tìm số lượng kết hợp tiền xu để đạt được mục tiêu trong Python
  • Python - Tất cả các kết hợp của một danh sách từ điển
  • Làm thế nào để có được số điện thoại của điện thoại Android bằng cách sử dụng Kotlin?
  • Tất cả các kết hợp cặp của 2 bộ dữ liệu trong Python
  • Chương trình tìm số lượng kết hợp riêng biệt tổng hợp lên k trong Python
  • Làm thế nào để có được số điện thoại trong Android?
  • In tất cả các kết hợp các điểm có thể tạo ra một số đã cho trong C ++
  • Python - Kết hợp chuỗi lặp lại ký tự
  • Khả năng gạch thư trong Python
  • Làm thế nào để có được số điện thoại mặc định trong Android?
  • Chuyển đổi mảng thành chuỗi số điện thoại trong JavaScript

Làm thế nào để bạn chuyển đổi các chữ cái thành các số trong Python?

Sử dụng hàm ord () để chuyển đổi chữ cái thành một số, ví dụ:số = ord ('a').Hàm ord () lấy một chuỗi đại diện cho 1 ký tự unicode và trả về một số nguyên đại diện cho điểm mã unicode của ký tự đã cho., e.g. number = ord('a') . The ord() function takes a string that represents 1 Unicode character and returns an integer representing the Unicode code point of the given character.

Làm thế nào để bạn chuyển đổi chữ cái thành số?

Mật mã chữ số chữ cái (hoặc mật mã được đánh số hoặc bảng chữ cái được đánh số) bao gồm thay thế mỗi chữ cái bằng vị trí của nó trong bảng chữ cái, ví dụ A = 1, b = 2, z = 26, do đó tên của nó trên tên A1Z26.replacing each letter by its position in the alphabet , for example A=1, B=2, Z=26, hence its over name A1Z26 .

Làm cách nào để nói với Python để chuyển đổi số nguyên thành từ?

Trong Python, một số nguyên có thể được chuyển đổi thành một chuỗi bằng cách sử dụng hàm str () tích hợp.using the built-in str() function.

Làm thế nào để bạn chuyển đổi thập phân thành bảng chữ cái trong Python?

Int để chữ cái chữ cái Python..
Từ Chuỗi Nhập ASCII_LowerCase ..
Letters = {chữ cái: str (index) cho index, chữ cái trong liệt kê (ascii_lowercase, start = 1)}.
DEF Bảng chữ cái_Pocation (văn bản):.
Text = Text.thấp hơn().