Python新手,我试图完成一项任务,但卡住了:
我知道字典的基本知识,但是我要写的程序让我摸不着头脑。
- 创建一个包含股票代码的字典(键/值)
- 程序提示用户输入股票代码(键)(did that)
- 程序应该返回与该特定符号(值)相关联的价格(运气不好)
- 如果用户输入的股票代码不在字典中,程序应该要求用户输入一个"有效的"股票代码。
这是我的语法。这当然不是完整的,因为我不能让它返回值…
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
循环进行迭代,直到找到值为止。