有人可以幫我弄清楚如何將字符串轉換爲數字嗎?比方說,用戶輸入「1-800 - 鮮花」我想蟒蛇顯示「1-800-3569377」Python轉換字母數字
所有我至今是:
userInput = input("Please enter a phone number (e.g. 1-800-Flowers): ")
phoneNum = userInput.replace('-','')
這真的是我的一切。任何幫助,將不勝感激
有人可以幫我弄清楚如何將字符串轉換爲數字嗎?比方說,用戶輸入「1-800 - 鮮花」我想蟒蛇顯示「1-800-3569377」Python轉換字母數字
所有我至今是:
userInput = input("Please enter a phone number (e.g. 1-800-Flowers): ")
phoneNum = userInput.replace('-','')
這真的是我的一切。任何幫助,將不勝感激
>>> pad = ['qz', 'abc', 'def', 'ghi', 'jkl', 'mno', 'prs', 'tuv', 'wxy']
>>> letter_to_numbers = {
... ord(ch): ord(str(i))
... for i, chs in enumerate(pad, 1)
... for ch in chs
... } # Map ord('f') to ord('3'), ...
>>> "1-800-Flowers".lower().translate(letter_to_numbers)
'1-800-3569377'
有一個for循環,通過用戶,然後爲每個字母或數字輸入的字符串循環,使用ord把它轉換成字符的ASCII值()函數。
other=[]
userInput = input("Please enter a phone number (e.g. 1-800-Flowers): ")
for i in userInput:
other+=[ord(i)]
print(other)
什麼你說沒有意義,我雖然爲"1-800-Flowers"
如果你把它轉換成ASCII並不等同於"1-800-3569377"
,你甚至可以在ASCII converter site檢查自己。如果我說的不對,請糾正我。
這是我如何與一個更直接的做翻譯:
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
letter_digits = "22233344455566677778889999"
letter_to_digit = string.maketrans(letters+letters.lower(),letter_digits+letter_digits)
# convert letters to digits
new_phone = raw_phone.translate(letter_to_digit)
哇,感謝一噸! –
@WhooCares,[接受答案](http://meta.stackexchange.com/a/5235)如果這解決了你的問題。 – falsetru