来自Coursera的Python - For Loop带有一点数学

时间:2013-11-07 08:06:46

标签: python loops for-loop

问题是:

  

编写一个将全局变量初始化为5的Python程序   keydown事件处理程序通过加倍来更新此全局变量,   而keyup事件处理程序通过将其递减3来更新它。

     

12个单独的键之后全局变量的值是多少   按下,即一次按下和释放一个键,然后重复   这总共12次?

     

要测试代码,全局变量的值应该在4之后为35   按键。

我没有实际使用他们的Coursera模块并重新创建keyup和keydown事件,而是尝试了for循环。

有关如何更正我的内容的任何建议吗?

a = 5
for a in range(13):
    val = (a*2)-3

print val

2 个答案:

答案 0 :(得分:2)

for a in range (13)每次用0-12的值覆盖一次,然后根据该值而不是“全局”变量计算val。这可能不是你想要做的。

也许像他一样?

a = 5
for i in range(12):
    a = (a*2)-3

print a

答案 1 :(得分:0)

你的问题是你用a来计算val:

val = (a*2)-3

我认为你混淆了2个变量,试试这个:

val = 5
a = 0
for a in range(0,4): #this make do the loop just 4 times
    val = (val*2)-3

print val

因为在你的代码中获取0到12之间的值,并且你不必使用那些值,所以你需要做的操作总是使用变量val,如果你把它初始化为5.在我的代码中,make for循环执行4次,并使用val进行操作。在代码的最后,你得到val

35