我开始自学 Python,我用谷歌搜索,但找不到解决方案,这是彩票代码的实践,我想问用户几个问题。它还在练习。我尝试构建“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我知道我应该使用 add 函数,但是我错过了这部分 new_users = user_players.add( { 'name': name_input, 'numbers': numbers_input } )如何更改我的代码以添加玩家及其号码?所以当用户选择“滚动”时,它显示为“约翰匹配 5”
1 回答

杨__羊羊
TA贡献1943条经验 获得超7个赞
{
'name': name_input,
'numbers': numbers_input
}
不能添加到集合中,因为 dict 不可散列。尝试使用像元组这样可散列的数据结构来适应您的情况。
例如,
new_users = user_players.add((name_input, numbers_input))
同样对于您的滚动功能,您可以参考new_users该功能中无法访问的功能。new_users您在add_players函数中声明的仅存在于该函数中。所以你想在其他地方声明它,比如user_players在顶部的下面,并在你去的函数中添加它。
添加回答
举报
0/150
提交
取消