【发布时间】:2017-12-28 13:01:11
【问题描述】:
我正在尝试将程序从 Matlab 转换为 Python。
我在 Python 中写道:
age=np.arange(start_age, start_age+D, deltat)
For num in age:
if age[:]<(65):
Y=1
break
else
Y=0
break
break
H = (1/r) * (1 - math.exp(-r * max(0, (65 - age[:])))
A = ((1 - theta) * r - rho) / theta + 0.5 * ((1 - theta) / theta ** 2) *( _lambda **2)
g = (1/A) * (math.exp(A * (D - (age[:] - start_age))) - 1)
我想要做的是:
- 对于
age,我需要一系列从 20 到 79 的整数; - 对于
Y,我需要每个年龄值,- 对于小于 65 的数字,我需要 1 和
- 对于每个大于或等于 65 的数字,我需要一个 0。
-
H、A和g是简单的函数。
我有两个问题:
- 它不允许我使用
age中的值。 -
Y的循环不起作用。
【问题讨论】:
-
这段代码有很多问题。它没有正确缩进。它使用了几个未定义的变量。
for应为小写。else:缺少一个冒号。为什么else块中有2 个break语句?此外,H、A和g不是函数,它们是使用我之前提到的那些未定义变量的简单表达式赋值。
标签: python loops numpy for-loop if-statement