问题描述
我正在完成一个带功能的简单课堂作业。我们必须找到功能freshness
在哪个月份m
比contract_v
更具优势。
这是我写的代码:
contract_u
但是,计算机会这样说:
def contract_u(m):
u=1000
for i in range (m):
u=u+80
return u
def contract_v(m):
v=1000
for i in range (m):
v=v*1.05
return v
m=1
if u>v:
m=m+1
else:
print(m)
我不明白我必须修改什么,以及为什么代码无法正常运行。 如果您确实知道做错了什么,请指出。 预先谢谢你。
解决方法
您的变量是在函数中本地定义的,因此它们不存在于它们之外,因此您应该在if语句之前添加以下行:
u=contract_u(m)
v=contract_v(m)
,
在这里您尚未调用声明变量u和v的函数,因此请尝试如下操作:
def contract_u(m):
u=1000
for i in range (m):
u=u+80
return u
def contract_v(m):
v=1000
for i in range (m):
v=v*1.05
return v
m=1
u = contract_u(m)
v = contract_v(m)
if u>v:
m=m+1
else:
print(m)