我开始自己学习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()
因此,当用户选择“ ADD”时,
我想向我的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
}
)
我如何更改代码以添加玩家及其编号?因此,当用户选择“ ROLL”时,它显示为“ John匹配5”]
{
'name': name_input,
'numbers': numbers_input
}
无法添加到集合中,因为字典不可哈希。尝试使用可散列的数据结构(例如元组)以适合您的情况。
例如,
new_users = user_players.add((name_input, numbers_input))
也用于滚动功能,请参考该功能中不可访问的new_users
。您在new_users
函数中声明的add_players
仅存在于该函数内部。因此,您想在其他位置声明它,就像在user_players下方,然后随便添加它。