回复:for循环中的多变量控制.可以在Python中执行吗?

马克·弗洛伊德(Mark Floyd)在星期五,2008年7月18日,下午12:21:49,他写道:
[...]
一个人想知道为什么... :)
即使Python没有提供类似的循环编写循环的方法
时尚(其他人已经回答了),为什么要成为
问题?在一般控制结构中,可以像其他一些
一种控制结构.例如,这正是您的
对于循环示例:
i = 0
j = 0
当我<5和j <10:
打印我,J
i += 1
J += 1
不过,这个示例很愚蠢,因为它将始终在
循环的第五次迭代,并且无需使用j
作为控制变量...它的终止条件将永远无法满足.
尽管该示例说明了Techique,即使示例是
虚假.
另一种方法是使用函数修改i和j的值.
以这种方式编写循环,您可以拥有尽可能多的控制变量
您需要,以及用于递增这些控制变量的公式
可以像您想象的那样复杂.
def Some_increment_function(i):
#做一些复杂的处理
i = ...
返回i
def other_incrjmental_function(j):
#做一些复杂的J
J = ...
返回j
i = 0
j = 0
当我<5和j <10:
打印我,J
i = some_increment_function(i)
j =其他_increment_function(j)
当然,您还可以替换循环终止条件
具有返回可以解释为真理的值的功能
价值.如果您想变得疯狂,甚至可以编码
控制结构作为递归函数:
DEF控制(I,J):
打印我,J
如果不是(i <5或j <10):
返回
别的:
控件(some_increment_function(i),其他_increment_function(j))
您是否应该通常以这种方式编写控制结构?
绝对不是(除非您正在编写LISP或方案:)).但是
重点是,即使给定语言没有特定的句法
您要寻找的元素,几乎可以保证
提供一种方法来做您想做的事情.您只需要停止
根据特定的句法思考您的问题
元素,并开始以更笼统地思考您的内容
实际上正在尝试完成并应用任何语法(通常
您的语言提供的几个)之一.
- -
Derek D. Martin http://www.pizzashack.org/
GPG密钥ID:0x81CFE75D
-----开始PGP签名-------------
版本:gnupg v1.2.1(gnu/linux)
id8dbqfigqsahenasn ++ rqiralx2akcggs2pbb3csyid7h0pgm w0vbyuuqcej1rb
lrjw9ybf1uxmlzru3zn1irw =
= cvnl
-----结束PGP签名-----

标签: python

添加新评论