要创建一个程序,该程序会将用户输入的字母添加到python中的字典

时间:2018-10-16 13:35:13

标签: python dictionary

我必须编写一个Python程序,该程序创建空的字母字母表。必须填充字典,以便当用户输入任何字母时,它将作为键(大写)和值(小写)附加到字典。词典中的所有字母必须唯一,这意味着词典中不允许重复。 例如:

Enter any letters (separated with space): A b C d a
{'A': 'a','B': 'b', 'C': 'c', 'D': 'd'}

所以,这是我的代码:

letter_dictionary = {}
letters = input().split(' ')
for i in letters:
    if i.upper() not in letter_dictionary:
        letter_dictionary[i.upper] = i.lower

print(letter_dictionary)

但是问题是,程序在字典中不是添加字母,而是添加了lower()和upper()函数,正如我在pythontutor.com上看到的那样 我该怎么办?

2 个答案:

答案 0 :(得分:2)

尝试:

  

letter_dictionary [i.upper()] = i.lower()

答案 1 :(得分:0)

如上所述,str.upperstr.lowermethod objects,您需要在括号后加上括号以实际应用方法:

for i in letters:
    if i.upper() not in letter_dictionary:
        letter_dictionary[i.upper()] = i.lower()

但是这里不需要常规的for循环。由于字典键总是 唯一的,因此即使not in letter_dictionary检查也不是必须的。如果要应用唯一性检查,只需先在输入中使用set

因此您可以使用字典理解来重写:

letter_diction = {k.upper(): k.lower() for k in set(letters)}