循环增量

时间:2014-02-03 21:01:48

标签: python

您好我正在尝试在循环中增加一个参数,但似乎无法正常工作。 Python只考虑我的第一个循环,Cp = 1:

Cp=0
track=2
variable=np.arange(track,1,6)
a=np.zeros(shape=(3,2))

    for track in variable:
        Cp=+1

        if Cp==1:
             eps=0.0

        elif Cp==2:
             eps=a(Cp-1,2)/2*3.14*track
             tau=a(Cp-1,2)
             print tau

        else:
        eps=0.003

Cp == 2的第二个循环从未考虑过?那么如何递增Cp ?? 我遇到的另一个问题是,由于我收到此错误,我的空数组a无法填充:

Traceback (most recent call last):
  File "Main.py", line 35, in <module>
    eps_real=a(Cp-0.5,2)/2*3.14*track
TypeError: 'numpy.ndarray' object is not callable

有什么想法吗?

感谢您的回答。

4 个答案:

答案 0 :(得分:2)

您没有使用正确的复合运算符。您想要+=而不是=+

>>> cp = 1
>>> cp +=1
>>> cp
2
>>> cp =+1
>>> cp
1
>>> 

答案 1 :(得分:2)

您应该使用+=运算符。 Cp=+1仅将1分配给Cp。

您可以通过两种常见方式实现增量:

>>> cp = 0
>>> cp = cp + 1
>>> print cp
1
>>> cp += 1
>>> print cp
2

顺便提一下,请不要用大写字母来启动变量。类名通常以大写字母开头。如果你有两个单词变量,那么使用camel case命名。例如,如果您想将变量名称赋予变量,请使用myGoodVariable。为了我的好班级使用MyGoodClass

答案 2 :(得分:0)

你可能想写Cp=Cp+1Cp+=1而不是Cp=+1

答案 3 :(得分:0)

除了已经提到的,你应该考虑使用enumerate()内置。

for i, item in enumerate(L):
    # ... compute some result based on item ...
    L[i] = result

取自PEP279。