【发布时间】:2016-07-19 02:22:02
【问题描述】:
我一直只显示打印的翻译号码的第一个字符
phoneNumLetter = str(input("Please enter a phone number that contains letters: "))
def translate(char):
if char.upper() == "A" or char.upper() == "B" or char.upper() == "C":
number = 2
elif char.upper() == "D" or char.upper() == "E" or char.upper() == "F":
number = 3
elif char.upper() == "G" or char.upper() == "H" or char.upper() == "I":
number = 4
elif char.upper() == "J" or char.upper() == "K" or char.upper() == "L":
number = 5
elif char.upper() == "M" or char.upper() == "N" or char.upper() == "O":
number = 6
elif char.upper() == "P" or char.upper() == "Q" or char.upper() == "R" or char.upper() == "S":
number = 7
elif char.upper() == "T" or char.upper() == "U" or char.upper() == "V":
number = 8
elif char.upper() == "W" or char.upper() == "X" or char.upper() == "Y" or char.upper() == "Z":
number = 9
return number
def translateNumber(phoneNumLetter):
for char in phoneNumLetter:
if char in['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']:
result = translate(char)
return result
else:
return char
def main():
print("Your original phone number was: ", phoneNumLetter)
print("Your translated phone number is: ", translateNumber(phoneNumLetter))
main()
请帮我找出问题所在。关键是将 1-800-FLOWERS 之类的内容翻译为 1-800-3569377。出于某种原因,如果我输入我得到的唯一回报是“1”
【问题讨论】:
标签: python char phone-number