【发布时间】:2017-08-01 17:47:06
【问题描述】:
我是新手,正在学习 python(使用 2.7)。我正在尝试一些简单的脚本来测试 python 如何处理不同类型的循环。
我的问题是:如果起点分配给变量,python 可以在每次迭代中更改“范围”函数的起点吗?这是我的代码示例:
def build(n, period):
n2 = n
for digit in range(int(n2), 20):
print "At the top i is %d" % n
digit += period
numbers.append(digit)
print "Numbers now:", numbers
print "At the bottom i is %d" % digit
print "The Numbers:"
n2 += period
for num in numbers:
print num
key = raw_input("Press 1 to call function \"build\", press any other key to quit.")
if key == "1":
i = raw_input("What integer is our start value?")
amt = raw_input("What is the common difference?")
numbers = [int(i)]
build(int(i),int(amt))
else:
quit()
我尝试在函数内部使用第二个局部变量“n2”,这样我可以保持“n”的初始值不变,然后重新定义每次迭代的范围。附加列表中的第一个数字按共同差移动,但之后它总是按 +1 整数移动。我可以使用“while”循环轻松实现这一点,但很好奇是否可以使用“for”循环来完成此操作?
【问题讨论】:
-
如果您正在寻找其他循环,您可以使用
while循环 -while n2 < 20: n2+= period。此外,您还必须将numbers数组传递给函数。否则,您可以将其称为全局变量。
标签: python python-2.7 for-loop