【发布时间】:2019-03-22 20:22:22
【问题描述】:
有没有办法将值重置为其初始状态。例如,如果 a=5,然后在整个程序中连续 a-=1 直到 a=0。我将如何重新设置程序使 a=5 再次?
【问题讨论】:
-
if a <= 0:..a = 5? # 只是为了安全
有没有办法将值重置为其初始状态。例如,如果 a=5,然后在整个程序中连续 a-=1 直到 a=0。我将如何重新设置程序使 a=5 再次?
【问题讨论】:
if a <= 0:..a = 5 ? # 只是为了安全
变量不记得它们的初始(或任何以前的)值。您需要将其存储在其他地方。
initial_a = 5
a = initial_a
...
a = initial_a if a == 0 else a - 1
...
但是,您可能想要一个生成无限重复值流的生成器。
import itertools
a_values = itertools.cycle([5,4,3,2,1,0])
a = next(a_values) # a == 5
a = next(a_values) # a == 4
a = next(a_values) # a == 3
a = next(a_values) # a == 2
a = next(a_values) # a == 1
a = next(a_values) # a == 0
a = next(a_values) # a == 5
# etc
【讨论】: