首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python中的for循环的步长如果是负值,该怎么办

2012-02-19 
python中的for循环的步长如果是负值,该怎么处理?我有一个方法,接收了几个参数,其中一个参数为该方法中for

python中的for循环的步长如果是负值,该怎么处理?
我有一个方法,接收了几个参数,其中一个参数为该方法中for循环的步长,可能为正也可能为负,但是为负值时就出现了错误。请问各位该如何解决?谢谢了!
例:
def   testmethod(x,stepx):
        if(stepx   !=   0):
                for   i   in   range(x+stepx,18,stepx):
                        if(i   <   1):
                                break
                        print   "i: "+str(i)
print   testmethod(17,-1)

[解决办法]
def testmethod(x,stepx):
if(stepx > 0):
for i in range(x+stepx,18,stepx):
if(i < 1):
break
print "i: "+str(i)
elif(stepx < 0):
for i in range(18, x+stepx,stepx):
if(i < 1):
break
print "i: "+str(i)



[解决办法]
我今天又思考了一下,觉得如果把程序改成这样不知道行不行!我是在不知道楼主原意的情况下改的,还请见谅!代码如下:
def testmethod(x,stepx):
if(stepx > 0 and (x + stepx) <18) or (stepx < 0 and (x + stepx)> 18):
for i in range(x+stepx,18,stepx):
if(i < 1):
break
print "i: "+str(i)
else:
print "testmethod() 的返回值为[] "

热点排行