[英]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.