我開始自學 Python,我用谷歌搜索,但找不到解決方案,這是彩票代碼的實踐,我想問用戶幾個問題。它還在練習。我嘗試構(gòu)建“add_players()”部分。所以,我的代碼現(xiàn)在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我知道我應該使用 add 函數(shù),但是我錯過了這部分 new_users = user_players.add( { 'name': name_input, 'numbers': numbers_input } )如何更改我的代碼以添加玩家及其號碼?所以當用戶選擇“滾動”時,它顯示為“約翰匹配 5”
1 回答

楊__羊羊
TA貢獻1943條經(jīng)驗 獲得超7個贊
{
'name': name_input,
'numbers': numbers_input
}
不能添加到集合中,因為 dict 不可散列。嘗試使用像元組這樣可散列的數(shù)據(jù)結(jié)構(gòu)來適應您的情況。
例如,
new_users = user_players.add((name_input, numbers_input))
同樣對于您的滾動功能,您可以參考new_users該功能中無法訪問的功能。new_users您在add_players函數(shù)中聲明的僅存在于該函數(shù)中。所以你想在其他地方聲明它,比如user_players在頂部的下面,并在你去的函數(shù)中添加它。
添加回答
舉報
0/150
提交
取消