【发布时间】:2015-10-15 03:09:02
【问题描述】:
首先,让我说我已经进行了深入的研究以试图理解。但是我不明白其他人给出的解释(提出问题的人都理解)。这是我遇到问题的代码:
def tax(bill):
"""Adds 8% tax to a restaurant bill."""
bill *= 1.08
print "With tax: %f" % bill
return bill
def tip(bill):
"""Adds 15% tip to a restaurant bill."""
bill *= 1.15
print "With tip: %f" % bill
return bill
meal_cost = 100
meal_with_tax = tax(meal_cost)
meal_with_tip = tip(meal_with_tax)
当我删除第一个“退货单”并运行它时,我得到了第一个数字,但在尝试计算第二个数字时出现错误。 def tax(bill) 取 100 输出 108 对吗?那么如果我删除了第一个“退货单”,那么为什么 def tip(bill) 不使用 108 进行计算而不是报错呢?
我在掌握最基本的编程概念方面确实存在问题。我已经学习了 3 个月,这就是我现在的位置。对于我来说,这是一个非常棘手的主题,我非常感谢您的帮助。
【问题讨论】:
-
删除返回语句时,函数默认返回
None。这意味着meal_with_tax的值是None。None *= 1.15是什么意思? -
同样的问题刚刚作为重复问题关闭。 stackoverflow.com/questions/33138918/…
-
您确实补充说“我在掌握最基本的编程概念方面确实存在问题。我已经紧张学习了 3 个月,这就是我现在的位置。”我建议你找一个新老师。这真的是基本的东西。如果您已经有一位好老师,我建议您放弃,因为您现在应该已经学会了。
-
@digitaLink 见Dunning-Kruger effect。