0

问题如下:

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

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

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

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

关于如何纠正我所拥有的任何建议?

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

print val
4

2 回答 2

2

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

也许像他的东西?

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

print a
于 2013-11-07T08:16:48.640 回答
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

因为在您的代码中,a 获取从 0 到 12 的值,并且您不必使用该值,所以如果您将变量 val 初始化为 5,您需要执行的操作始终使用变量 val。在我的代码中创建 for 循环自己做 4 次,并用 val 进行操作。在代码的最后你得到 35 in val

于 2013-11-07T08:21:51.857 回答