【发布时间】:2017-01-23 02:41:37
【问题描述】:
在我的书中,Python Crash Course:给出了这段代码,但它给出了一个错误。
def make_pizza(*toppings):
"""Summarize the pizza we are about to make."""
print("\nMaking a pizza with the following toppings:")
for topping in toppings:
print("- " + topping)
make_pizza(make_pizza("peperoni"))
make_pizza(make_pizza("mushroom",'green peppers','extra cheese'))
回溯如下:
打印(“-” + 浇头)
TypeError: 无法连接 'str' 和 'NoneType' 对象
问。这里的 NoneType 对象是什么?是顶吗?如果是,为什么?
即使我在 topping 周围使用 str() ,它也给了我一个有趣的输出:
def make_pizza(*toppings):
"""Summarize the pizza we are about to make."""
print("\nMaking a pizza with the following toppings:")
for topping in toppings:
print("- " + str(topping))
make_pizza(make_pizza("peperoni"))
make_pizza(make_pizza("mushroom",'green peppers','extra cheese'))
输出:
Making a pizza with the following toppings:
- peperoni
Making a pizza with the following toppings:
- None
Making a pizza with the following toppings:
- mushroom
- green peppers
- extra cheese
Making a pizza with the following toppings:
- None
第二季度。为什么每个显示 2 个输出? - 一个带有浇头列表的 - 一个没有?
【问题讨论】:
-
您的比萨饼煮过头了。不要做同样的比萨饼 2 次。这个
make_pizza(make_pizza("peperoni"))应该是make_pizza("peperoni"):D -
天哪! :D 对不起!谢谢!
-
接受 theonlygusti 的回答,因为他已经清楚地描述了您的脚本中发生的事情。
标签: python