疑问
本帖最后由 tomer 于 2014-11-04 12:41 编辑def make_omelet_q3(fridge,omelet_name = "mozzarella"):
def get_omelet_ingredients(omelet_name):
ingredients = {"eggs":2,"milk":1}
if omelet_name == "cheese":
ingredients["cheddar"] = 2
elif omelet_name == "western":
ingredients["jack_cheese"] = 2
ingredients["ham"] = 1
ingredients["pepper"] = 1
ingredients["onion"] = 1
elif omelet_name == "greek":
ingredients["feta_cheese"] = 2
ingredients["spinach"] = 2
elif omelet_name == "mozzarella":
ingredients["mozzarella cheese"] = 2
ingredients["roast red pepper"] = 2
ingredients["mushroom"] = 1
else:
print("That's not on the menu,sorry")
return None
return ingredients
f={'egg':12,'mozzarella':6,'milk':20,'roast red pepper':4,'mushrooms':3}
n=make_omelet_q3(f, "cheese")
print(n)
此程序输出位"None"
"cheese传入函数 get_omelet_ingredients(),出来应该是{"eggs":2,"milk":1,"cheddar":2}呀,不知道哪里理解出问题了? def get_omelet_ingredients(omelet_name):
你只定义了这个函数,但是没有调用撒
回复 1# tomer
本帖最后由 tomer 于 2014-11-04 12:49 编辑
回复 2# wtz_wh
make_omelet_q3(f, "cheese")
这个函数不是调用了吗?
make_omelet_q3()不调用get_omelet_ingredients()吗?
上面定义make_omelet_q3时里面包含了定义get_omelet_ingredients() get_omelet_ingredients是你在那个函数里又定义的函数...回复 3# tomer
回复 4# wtz_wh
函数make_omelet_q3()里的函数get_omelet_ingredients()在调用make_omelet_q3()时不会知道调用get_omelet_ingredients()?
这样就行了
def make_omelet_q3(fridge,omelet_name = "mozzarella"):
def get_omelet_ingredients(omelet_name):
ingredients = {"eggs":2,"milk":1}
if omelet_name == "cheese":
ingredients["cheddar"] = 2
elif omelet_name == "western":
ingredients["jack_cheese"] = 2
ingredients["ham"] = 1
ingredients["pepper"] = 1
ingredients["onion"] = 1
elif omelet_name == "greek":
ingredients["feta_cheese"] = 2
ingredients["spinach"] = 2
elif omelet_name == "mozzarella":
ingredients["mozzarella cheese"] = 2
ingredients["roast red pepper"] = 2
ingredients["mushroom"] = 1
else:
print("That's not on the menu,sorry")
return None
return ingredients
return get_omelet_ingredients(omelet_name)
f={'egg':12,'mozzarella':6,'milk':20,'roast red pepper':4,'mushrooms':3}
n=make_omelet_q3(f, "cheese")
print(n)
你在该函数里调用了吗?
没调用怎么可能会去执行呢?
回复 5# tomer
页:
[1]