首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >古瑟尔的Python - For循环和一些数学

古瑟尔的Python - For循环和一些数学
EN

Stack Overflow用户
提问于 2013-11-07 08:06:46
回答 2查看 2K关注 0票数 0

问题如下:

编写一个将全局变量初始化为5的Python程序。keydown事件处理程序通过加倍更新这个全局变量,而keyup事件处理程序通过将其递减3来更新它。 在12个单独的键按下后,全局变量的值是多少,即一次按和释放一个键,总共重复12次? 要测试您的代码,全局变量的值应该在4键按下后为35。

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

关于如何纠正我的问题,有什么建议吗?

代码语言:javascript
运行
复制
a = 5
for a in range(13):
    val = (a*2)-3

print val
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-07 08:16:48

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

也许像他的那样?

代码语言:javascript
运行
复制
a = 5
for i in range(12):
    a = (a*2)-3

print a
票数 2
EN

Stack Overflow用户

发布于 2013-11-07 08:21:51

您的问题是使用a来计算val:

代码语言:javascript
运行
复制
val = (a*2)-3

我想你把这两个变量搞混了,试试这个:

代码语言:javascript
运行
复制
val = 5
a = 0
for a in range(0,4): #this make do the loop just 4 times
    val = (val*2)-3

print val

因为在您的代码中,get值从0到12不等,而且您不必使用该值,所以如果将变量val初始化为5,则需要执行的操作始终是val。在我的代码中,make for循环自己做了4次,然后使用val进行操作。在代码的末尾,在val中得到35

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19830737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档