Skip to main content
 首页 » 编程设计

python之一行输出字典

2025年05月04日15落叶无声

我是通过 http://GrokLearning.com 学习 Python 3.3 的初学者

我的目标是编写 Word2SMS 程序。该程序告诉用户在基本手机(非智能手机)上按下哪些“数字按钮”才能拼出给定的单词。输入的单词将全部以大写字母给出——没有数字或标点符号。假设手机可以根据用户输入的相应数字完美预测单词。

示例目标输出:

> GROK 
4765 

我的代码:

KEYPAD = {'A': '2', 'B': '2', 'C': '2', 'D': '3', 'E': '3', 'F': '3', 'G': '4', 'H': '4', 'I': '4', 'J': '5', 'K': '5', 'L': '5', 'M': '6', 'N': '6', 'O': '6', 'P': '7', 'Q': '7', 'R': '7', 'S': '7', 'T': '8', 'U': '8', 'V': '8', 'W': '9', 'X': '9', 'Y': '9', 'Z': '9'} 
word = input("Enter word: ") 
for key in word: 
    print(KEYPAD[key], end='') 

结果:

我的代码返回相同的数字,全部在一行中,数字之间没有空格,正如我想要的那样。但是,我收到此通知:您的输出缺少尾随换行符。

我尝试添加 '\n' 以在末尾添加一个新行;这给了我 行继续字符后的意外字符 SyntaxError。

在末尾添加 ' ' 会导致每行一位数字。


作为引用,我已经浏览了所有免费模块,但没有浏览任何付费模块。由于我的知识有限,请用简单的语言解释你的答案。

请您参考如下方法:

你只需要在处理输入字符串后打印出一个换行符:

KEYPAD = {'A': '2', 'B': '2', 'C': '2', 'D': '3', 'E': '3', 'F': '3', 'G': '4', 'H': '4', 'I': '4', 'J': '5', 'K': '5', 'L': '5', 'M': '6', 'N': '6', 'O': '6', 'P': '7', 'Q': '7', 'R': '7', 'S': '7', 'T': '8', 'U': '8', 'V': '8', 'W': '9', 'X': '9', 'Y': '9', 'Z': '9'} 
word = input("Enter word: ") 
for key in word: 
    print(KEYPAD[key], end='') #<-- this line suppresses the newline output 
print() #<-- this adds the required newline at the end of all the characters