繁体   English   中英

如何将这组中的字母转换为数字?

[英]How to convert letters to numbers in this set?

我正在研究一个代码,该代码将电话号码的最后四位数字作为字母输入,然后输出带有数字的整个电话号码,但我在转换过程中苦苦挣扎,因为它不会吐出数字正如它应该的那样。 到目前为止,这是我的代码。

def reversephone():
    num = input("What's your phone number?: ")
    characters = {2: "abc", 3: "def", 4: "ghi", 5: "jkl", 6: "mno", 7: "pqrs", 8: "tuv", 9: "wxyz"}
    number = " "
    number += num[0:6]
    print(number)
print(reversephone())

我是 python 的初学者,所以提前致谢。

num 是 string.characters[int(num[i])] 的 var 可以接受你的字母。你想将 num 转换为 char 吗? 但是你的

如果要将字母转换为数字,请使用字典

data = {"a": "2", "b": "2", "c": "2", "d": "3", ...}

然后你可以做

for char in num[6:]:
    number += data[char]

编辑:

characters转换为data

characters = {2: "abc", 3: "def", 4: "ghi", 5: "jkl", 6: "mno", 7: "pqrs", 8: "tuv", 9: "wxyz"}
data = dict()

for number, letters in characters.items():
     for char in letters:
         data[char] = str(number)

print(data)

您可以使用列表理解。

def reversephone():
    tel_num = input("What's your phone number?: ")
    characters = {2: "abc", 3: "def", 4: "ghi", 5: "jkl", 6: "mno", 7: "pqrs", 8: "tuv", 9: "wxyz"}
    number_as_char = ''.join([characters[int(num)] for num in tel_num])
    print(number_as_char)

reversephone()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM