Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python LPTHW ex 40不工作?(字典练习,不返回键:值对。)_Python_Python 2.7_Dictionary_Key Value - Fatal编程技术网

Python LPTHW ex 40不工作?(字典练习,不返回键:值对。)

Python LPTHW ex 40不工作?(字典练习,不返回键:值对。),python,python-2.7,dictionary,key-value,Python,Python 2.7,Dictionary,Key Value,我已经对我的代码进行了三次检查,据我所知,它与书中给出的ex40基本相同(LPTHW,Python 2.7): 预期输出如下所示: State? (ENTER to quit) > CA San Francisco State? (ENTER to quit) > FL Jacksonville State? (ENTER to quit) > O Not found. State? (ENTER to quit) > OR Portland State? (ENTER

我已经对我的代码进行了三次检查,据我所知,它与书中给出的ex40基本相同(LPTHW,Python 2.7):

预期输出如下所示:

State? (ENTER to quit) > CA
San Francisco
State? (ENTER to quit) > FL
Jacksonville
State? (ENTER to quit) > O
Not found.
State? (ENTER to quit) > OR
Portland
State? (ENTER to quit) > VT
Not found.
State? (ENTER to quit) >
但当我运行它时,输入行只会重复,直到我在一个空行上按enter键,再也不会生成一个城市。像这样:

State? (Enter to quit) > KS
State? (Enter to quit) > NY
State? (Enter to quit) > LA
State? (Enter to quit) > CA
State? (Enter to quit) > 
Not found.
谁能告诉我我忽略了什么

谢谢。

台词

city_found = cities['_find'](cities, state) # Better: city_found = find_city(cities, state)
print city_found
需要在<代码>循环期间,而不是在循环之后


我一点也不明白
cities[''u find']=find\u city
的目的是什么-为什么不直接调用该函数而不是将其添加到城市词典中?对我来说似乎非常不和谐

谢谢,新页面上的间距看起来不一样,我没有从行号中检查空格。至于不直接调用函数,我认为这是一种教学方法,展示了如何将函数构建到字典中。@themagicbean这是有道理的,但老实说,这是一个糟糕的例子。将函数放入字典可能很有用,例如,当您必须根据上下文动态选择要调用的函数时。但是,您将有一个用于函数的字典和另一个用于数据的字典。把那些东西混在一起是令人困惑的。
city_found = cities['_find'](cities, state) # Better: city_found = find_city(cities, state)
print city_found