将用户输入列表与字典进行比较并打印出相应的值

时间:2018-12-05 17:03:08

标签: python-3.x jupyter-notebook

首先要说的是这是供学校使用的,但我仍在学习,所以我没有在寻找直接的解决方案。

我想做的是接受用户(一个或多个单词)的输入。 然后,我将其放入列表。 我有字典,我要发布的代码可以正确打印出值。 我的问题是如何将列表中的字符与字典中的键进行比较,然后仅打印与键相对应的值?

我还读了很多关于字典的不同问题,但这根本没有帮助。

输出示例;

字:哇

输出:96669

user_word = input("Please enter a word: ")
user_listed = list(user_word)

def keypresses():
my_dict = {'.':1, ',':11, '?':111, '!':1111, ':':11111, 'a':2, 'b':22, 'c':222, 'd':3, 'e':33, 'f':333, 'g':4, 'h':44,
       'i':444, 'j':5, 'k':55, 'l':555, 'm':6, 'n':66, 'o':666, 'p':7, 'q':77, 'r':777, 's':7777, 't':8, 'u':88,
       'v':888, 'w':9, 'x':99, 'y':999, 'z':9999, ' ':0}

for key, value in my_dict.items():
    print(value)

1 个答案:

答案 0 :(得分:0)

我不会为您提供该项目的代码,但我一定会向正确的方向发送;

所以,我认为这有两部分;将每个字符与一个键匹配/获取一个值,然后将数字组合起来以得到输出。

对于第一部分,您可以通过简单地进行for循环来逐个字符地进行迭代;

for letter in 'string':
    print(letter)

将输出s t r i n g。因此,您可以使用它来查找密钥(每个字母)的值

然后,您可以将定义定义为字符串(这样就不会在数学上相加每个数字),类似于;

letter = 'w'
value = my_dict[letter]
value_as_string = str(value)

然后,将所有内容组合到一个for循环中,并将每个字符串相互添加以创建所需的输出。