Python 一行上的字典输出

Python 一行上的字典输出,python,python-3.3,Python,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':

我是一名初学者,通过

我的目标是写一个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='')

我的代码:

> 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='')

结果:

> 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
键盘={'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','P':'7','Q':'7','S':'7','T':'8','U':'8','W':'9','X':'9''
word=输入(“输入word:”)
对于关键字:

打印(键盘[键],结束=“”)#处理输入字符串后,只需打印一行换行符:

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
键盘={'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','P':'7','Q':'7','S':'7','T':'8','U':'8','W':'9','X':'9''
word=输入(“输入word:”)
对于关键字:

打印(键盘[键],结束=“”)#以获得更短的解决方案:

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: ")
print(''.join([KEYPAD[k] for k in word])) # This will join all the buttons together and print with an automatic newline

顺便说一句,您的错误“行续字符后意外字符SyntaxError.”意味着您将
\n
置于引号之外<代码>\
引号外表示下一行继续,因此后面不应有除换行符以外的任何文本。

对于更短的解决方案:

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: ")
print(''.join([KEYPAD[k] for k in word])) # This will join all the buttons together and print with an automatic newline

顺便说一句,您的错误“行续字符后意外字符SyntaxError.”意味着您将
\n
置于引号之外<代码>\
引号之外意味着在下一行继续,因此后面不应该有除换行符以外的任何文本。

感谢您提供了这样一个简单的修复!“对于像我这样的初学者来说,这是有道理的。”斯蒂娜,很高兴这有帮助。因为你写了一个详细而清晰的问题,所以可以更轻松地帮助你找到问题的解决方案。谢谢你这么简单的解决方案!“对于像我这样的初学者来说,这是有道理的。”斯蒂娜,很高兴这有帮助。因为你写了一个详细而清晰的问题,所以帮助你找到解决问题的方法就容易多了。谢谢你给我看这个简明的版本。顺便说一句,我在右括号内和右括号外都尝试了
\n
,但两次都收到了错误。感谢您向我展示这个压缩版本。顺便说一句,我在右括号内外都尝试了
\n
,两次都收到了错误。