Python 如何创建一个返回有问题的值(键)的字典?

Python 如何创建一个返回有问题的值(键)的字典?,python,python-3.x,dictionary,return-value,Python,Python 3.x,Dictionary,Return Value,我必须从我的课程和他们所属的小组的名称中创建一个四个人的字典(在你的文件中)。 当我运行我的程序时,它应该要求用户输入一个名称,并将该用户组的名称返回给他们。它应该是这样的: Welcome to the py-group-infromator, I can tell you where those users belong to: {name_user} {name_user} {name_user} {name_user} Which user do you want to ask for?

我必须从我的课程和他们所属的小组的名称中创建一个四个人的字典(在你的文件中)。 当我运行我的程序时,它应该要求用户输入一个名称,并将该用户组的名称返回给他们。它应该是这样的:

Welcome to the py-group-infromator, I can tell you where those users belong to:
{name_user}
{name_user}
{name_user}
{name_user}
Which user do you want to ask for?
{name_user}
{name_group}
起初

notes = ''' "Welcome to the py-group-informator,
    I can tell you where those users belong to" :
    Azura
    Mate
    Anna 
    John 
    " Which user do you want to ask for ?" '''
print(notes)
我的字典

people = [{'name': "Azura", 'group': "cute_python"},{'name': "Mate", 'group': "cute_python"},{'name': "Anna", 'group': "fatal_error"},{'name': "John", 'group': "fatal_error"}]
有什么能帮我的吗?很抱歉我的风格,这是我的第一个问题;)

试试这个:

人=[
{'name':“Azura”,'group':“cute_python”},
{'name':“Mate”,'group':“cute_python”},
{'name':“Anna”,'group':“致命错误”},
{'name':“John”,'group':“致命错误”}
]
def op(姓名):
关于人的价值:
如果names.lower()中的值['name'].lower():
打印(值['group'])
x=op(输入(“欢迎来到py组信息,我可以告诉你在哪里
这些用户属于:Azura Mate Anna John您想要哪个用户
要求?))

与另一个答案类似,但我会写得稍有不同:

人=[
{'name':“Azura”,'group':“cute_python”},
{'name':“Mate”,'group':“cute_python”},
{'name':“Anna”,'group':“致命错误”},
{'name':“John”,'group':“致命错误”}
]
name_to_group={d['name']:d['group']代表人物中的d}
打印(“组信息”)
名称=','。连接(名称到组)
name=input(f“输入{names}中的一个或0以退出:”)
而名字!='0':
如果名称不在名称组中:
持续
打印(f“{name}在组{name_到组[name]}”中)
name=input(f“输入{names}中的一个或0以退出:”)
打印(‘再见’)
示例输出:

Group Information
Enter one of Azura, Mate, Anna, John or 0 to exit: Mate
Mate is in group cute_python
Enter one of Azura, Mate, Anna, John or 0 to exit: John
John is in group fatal_error
Enter one of Azura, Mate, Anna, John or 0 to exit: 0
Good Bye

以下是从数据结构中提取的核心逻辑(有意省略列表和欢迎屏幕文本)。假设您有这些,首先捕获用户输入,如下所示,并继续搜索它们所属的组

user_name = input("Which user do you want to ask for ?")
    for item in people:
        for key in item:
            if item[key] == user_name:
                    print(item['group'])
                    break

欢迎来到SO。这不是一个讨论论坛或教程。请花点时间阅读和阅读该页面上的其他链接。花些时间练习这些例子。它将让您了解Python提供的帮助您解决问题的工具。不要只是在代码中添加空格,使其成为代码块,而不缩进其余代码。在python中,缩进实际上很重要。或者,只需通过3个倒勾创建一个代码块,这通常更容易(请参见我的编辑)。@错误语法后悔感谢3个倒勾,这将节省我用空格缩进的时间:)。如果['Azura']中的值['name'],则不应
如果值['name']==名称:?@ChrisDoyle谢谢。Edited.dont do
in names
names
,将只是用户提供的单个名称,而不是列表。因此,
names
将只是一个字符串,您可以与
==