Python中文
首页
教程
问答
标签
搜索
登录
注册
使用for循环在函数中迭代不起作用?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>当我在函数中使用for循环时(见下文),for循环下面的语句块不会被迭代</p> <pre><code>def F(rho, m, E, v_rho, v_m, v_E): for n in xrange(N): #Update conserved quantities rho = G(Evolve_rho1(rho)) m = momentum(Evolve_m1(m)) E = Energy(Evolve_E1(E)) v_rho = rho_v(Evolve_rho_v(rho)) v_m = m_v(Evolve_mv(m)) v_E = E_v(Evolve_Ev(E)) return (rho, m, E, v_rho, v_m, v_E) </code></pre> <p>因为以这种方式调用函数后:<code>density, momentum, Energy, dflux, mflux, Eflux = F(rho, m, E, v_rho, v_m, v_E)</code>,并且 例如打印密度,会导致错误答案。在</p> <p>但如果我只使用下面的循环,它工作得很好。在</p> ^{pr2}$ <p>等等,给出正确的结果。在</p> <p>欢迎任何建议。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我猜你错过了<code>N</code>的全局和本地vlue之间的区别。正如您所写的,<code>F</code><em>函数</em>中的<code>N</code>的值将是调用<code>F</code>时的N,而不是定义它时的N。因此,如果在<code>F</code>被调用<code>N==0</code>,那么循环块将永远不会执行。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
5 回答
文本小部件:在没有输入时更新并在循环后保持空闲
7 回答
文本小部件tkin
7 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
3 回答
文本小部件tkinter复制图像选项
3 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
6 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
1 回答
文本小部件不显示lis中的内容
6 回答
文本小部件不显示Unicode字符
10 回答
文本小部件中写入的行间距
8 回答
文本小部件中的文本作为变量
7 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
10 回答
文本小部件作为Lis
7 回答
文本小部件在主框架中扩展列宽
5 回答
文本小部件未使用删除功能清除
1 回答
文本小部件滚动动画(Tkinter、Python)
8 回答
文本居中。格式正确吗?
6 回答
文本差分算法
6 回答
文本已知时音频文件中的单词索引
1 回答