我的职能是:
def searchstock():
dictionary=calcreturn(dictionize(tickers(openfile()),pairslist()))
inp=raw_input("What is the stock ticker? ")
while True:
try:
dictionary[inp]
break
except KeyError:
print("Ticker not found. Please input again ")
print(inp, dictionary[inp])
try/except无效。我试图查看用户输入是否在字典键中,然后返回键和相应的值
如果imp不在字典中,为什么这是一个无限循环?
只是
您还需要打破
while True
循环另外,如果您使用的是py2x,您将希望使用}
raw_input
,而不是{也许我误解了一些东西,但是要检查一个值是否是字典键,这很简单:
返回}。在
True
或{此外,您甚至可以做如下操作:
^{pr2}$如果键不在字典中,您将得到字符串
"Key not in dictionary"
,否则您将得到由'key'
标记的实际值。在代码中的listkeys是一个列表,而不是字典。在列表中查找元素不会导致KeyError。在
如果你用的是列表
会给出正确或错误的答案。在
还要将输入修改为raw_input(),使其将字符串视为字符串而不是对象名称。在
尝试使用如下方法:
^{pr2}$相关问题 更多 >
编程相关推荐