如何将用户输入与dict中的键匹配,然后使用该键的值

  • 本文关键字:然后 用户 dict python dictionary
  • 更新时间 :
  • 英文 :


我正在尝试创建我的第一个python程序,该程序根据在即将到来的大师赛中对不同高尔夫球手的投注来计算利润。我把高尔夫球手和他们的奖金赔率存储在一个字典里;地方;将不同金额的赌注押在不同的高尔夫球手身上,然后让程序根据谁获胜告诉我利润。只是在我的函数placeBet((中访问dict的成员这是代码

golfers = {
"DJ": 11,
"Speith":9,
"Bryson":9,
"JT":11,
"Jon Rahm":12,
"Rory":18,
"Xander":22,
"Brooks":23,
"Collin":27,
"Viktor":33,
"Paul Casey":35,
"Tommy Fleetwood":50,
"Bubba":66,
"Webb":35,
}
def placeBet():
print('Which Golfer are you betting on?')
golfer = input()
if golfer in golfers.keys():
print('How much are you betting on ' + golfers[key] + '?' )
bet = input()

当我运行代码时,我得到这些错误

Which Golfer are you betting on?
DJ
Traceback (most recent call last):
File "masters.py", line 29, in <module>
placeBet()
File "masters.py", line 23, in placeBet
golfer = input()
File "<string>", line 1, in <module>
NameError: name 'DJ' is not defined

假设Python 3…

placeBet函数中,将golfers[key]更改为golfer。你从来没有定义密钥,所以你不能使用它。此外,你已经知道"高尔夫球手",所以你不必在高尔夫球手身上查找它,只需使用它。

此外,我假设您想将赌注覆盖回高尔夫球手的dict。如果是这样,请在函数末尾添加golfers[golfer] = int(bet)。如果要添加赌注,请使用golfers[golfer] += int(bet)。如果赌注可以包括小数,请使用float而不是in。

除了上面提到的更改之外,我还在代码中添加了几行代码来演示这一点。当然,您需要修改代码以适应您想要的结果。

golfers = {
"DJ": 11,
"Speith":9,
"Bryson":9,
"JT":11,
"Jon Rahm":12,
"Rory":18,
"Xander":22,
"Brooks":23,
"Collin":27,
"Viktor":33,
"Paul Casey":35,
"Tommy Fleetwood":50,
"Bubba":66,
"Webb":35,
}

def placeBet():
print('Which Golfer are you betting on?')
golfer = input()
if golfer in golfers.keys():
print('How much are you betting on ' + golfer + '?' )
bet = input()
golfers[golfer] += float(bet)
return golfer, bet, golfers[golfer]
else:
return None, None, None

print('Golfer, New Bet, New Bets Total = ', placeBet())

相关内容

最新更新