添加值SET python

时间:2019-10-14 20:05:54

标签: python

我自己开始学习Python,我在Google周围搜索,但找不到解决方案,

这是彩票代码的练习,我想问用户几个问题。它仍在练习。

我尝试构建“ add_players()”部分。

所以,我的代码现在是

user_players = set()

lottery_numbers = {13, 21, 22, 5, 8}

def menu():
    user_input = input("ADD,SHOW,ROLL or QUIT  ")
    user_input=user_input.upper()

    while user_input != 'QUIT':
        if user_input == 'ADD':
            add_players()
        #elif user_input == 'SHOW':
        #   show_players()
        elif user_input == 'ROLL':
            roll()
        else:
            print('Done bye')
        user_input = input("ADD,SHOW,ROLL or QUIT ")


def add_players():
    name_input = input('Name?: ')
    numbers_input = int(input('number?: '))

    new_users = user_players.add(
        {
            'name': name_input,
            'numbers': numbers_input
        }
    )
def roll():
    for i in new_users:
        Matched1 = i['numbers'].intersection(lottery_numbers)
        print("{} matched {} ".format(i['name'], Matched1))

menu()

因此,当用户选择“添加”时,

我想为我的SET添加值

这是逻辑

def add_players():
        name_input = input('Name?: ')
        numbers_input = int(input('number?: '))

        new_users = user_players.add(
            {
                'name': name_input,
                'numbers': numbers_input
            }
        )

例如,

约翰 1,2,3,4,5

我知道我应该使用添加功能,但是

我错过了这一部分

 new_users = user_players.add(
                {
                    'name': name_input,
                    'numbers': numbers_input
                }
            )

如何更改代码以添加玩家及其编号?因此,当用户选择“滚动”时,显示为“约翰匹配5”

1 个答案:

答案 0 :(得分:3)

"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "Id:BAR"
不能将

添加到集合中,因为字典不可哈希。尝试使用可散列的数据结构(例如元组)以适合您的情况。

例如,

{
    'name': name_input,
    'numbers': numbers_input
}

对于滚动功能,您还引用了new_users = user_players.add((name_input, numbers_input)) ,该功能无法访问。您在new_users函数中声明的new_users仅存在于该函数内部。因此,您需要在其他位置声明它,例如位于顶部add_players下方,然后随需添加到函数中。

相关问题