一个lin上的字典输出

2024-09-30 16:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我是从http://GrokLearning.com开始学习python3.3的初学者

我的目标是写一个Word2SMS程序。这个程序告诉用户在基本手机(非智能手机)上按下哪个“数字按钮”来拼出给定的单词。输入词将以所有大写字母给出-没有数字或标点符号。假设手机能完美地预测出用户输入的相应数字的单词。在

示例目标输出:

> GROK
4765

我的代码:

^{pr2}$

结果:

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

Missing trailing newline character

我尝试在末尾添加'\n'来添加一个新行;这给了我一个意外字符后的行延续字符语法错误。在

在末尾加上' ',每行一位。在


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


Tags: 模块代码用户程序comhttp目标数字
2条回答

对于更短的解决方案:

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

顺便说一句,您的错误“unexpected character after line continuation character 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: ")
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

相关问题 更多 >