Python Dictionary Assist



Python新手,我试图完成一项任务,但卡住了:

我知道字典的基本知识,但是我要写的程序让我摸不着头脑。

  1. 创建一个包含股票代码的字典(键/值)
  2. 程序提示用户输入股票代码(键)(did that)
  3. 程序应该返回与该特定符号(值)相关联的价格(运气不好)
  4. 如果用户输入的股票代码不在字典中,程序应该要求用户输入一个"有效的"股票代码。

这是我的语法。这当然不是完整的,因为我不能让它返回值…

print("Please enter stock symbol in all CAPS for current price: ")
stock_symbol = input()
stock = {'ADBE': '$2', 'SPOT': '$3', 'BJ': '$4', 'DIS': '$5', 'FB': '$6', 'BABA': '$6','LOW': '$7', 'NLS': '$8', 'SONO': '$9', 'NEM': '$10'}
if stock_symbol == 'ADBE':
print("ADBE is" + stock)

只是一些(重要的)提示,因为这是一个赋值。

你需要在字典中查找给定的键:

value = stock[stock_symbol]

"tricky"部分原因是,如果stock_symbol不在stock字典中,上述操作将失败。为此,您可以使用get()方法,该方法不会失败,但在没有找到键时返回None:

value = stock.get(stock_symbol)
if value is None:
print('not found')
else:
print('found', value)

除此之外,stock.get(key)stock[key]是等价的。

另一个解决方案是在实际查找之前检查键是否在字典中:

if stock_symbol in stock:
# stock_symbol is in stock. It may be looked up with stock[stock_symol]
else:
# stock_symbol is not in stock. Do not attempt stock[stock_symbol]

如果dict是您的字典,则可以直接使用dict[key]从字典中获取值。

对于你的情况,你可以直接输入:stock[stock_symbol]

检查键是否存在于字典中,可以使用in关键字:

if stock_symbol in stock

可以使用while循环进行迭代,直到找到值为止。

相关内容

  • 没有找到相关文章

最新更新