【发布时间】:2019-03-28 15:47:15
【问题描述】:
a = 1
b = 2
c = 3
x = a
def change_x():
x = next??
print("x:", x)
for i in range(10):
change_x()
如何通过无限期地调用 change_x() 在 a、b、c 之间循环?
输出应该是:
x: 2
x: 3
x: 1
x: 2
...
【问题讨论】:
-
是否需要变量a、b和c?你可以循环浏览一个列表吗? [1,2,3]
-
为什么输出从
b的值开始,而不是a? -
大部分答案都指向您正确的工具
itertools.cycle,但没有一个真正回答您的问题。将change_x()函数定义如下:def change_x(c=cycle([a, b, c])): return next(c) -
@Ashish:是的,变量是必需的,它们是 GUI 中的 tk.StringVars
-
@Sayse:它以 b 开头,因为 print 是在第一次更改之后
标签: python python-3.x list