回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我一直只得到打印的翻译数字的第一个字符</p>
<pre><code>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()
</code></pre>
<p>请帮我弄清楚怎么回事。关键是要把1-800-FLOWERS之类的东西翻译成1-800-3569377。因为某些原因,如果我输入,我得到的唯一返回值是“1”</p>