我需要在循環中定期更新變量,在循環中我需要根據這些范圍設置變量值(X_state)。例如,如果我有一個從 1 開始到 200 的循環,并且每當范圍的開始代表 60 的倍數且結束等于 start+5 時,我需要將變量 X_state 設置為從 0 到 1。因此,我不確定如何在本例中從 60 開始更新到 65,然后從 120 開始更新到 125,從 180 開始更新到 185。它僅適用于我的第一個范圍,即 [60-65]periodic = 60for i in range(200):print(i)if (i%periodic==0)or (i>=periodic and i<=periodic+5): x_state = 1else: x_state= 0print("x_state= ",x_state)
2 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
您的 if 語句僅檢查periodic(60),而不檢查 的倍數periodic。這應該可以達到你想要的效果:
periodic = 60
for i in range(200):
print(i)
x_state = 0
if 0 <= i % periodic <= 5:
x_state = 1
print("x_state= ",x_state)
periodic在這里,我可以通過檢查數字模數來計算 的任何倍數periodic。

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
periodic = 60
for i in range(200):
if (i % periodic >= 0) and (i % periodic <= 5):
x_state = 1
else:
x_state = 0
print(i, "x_state = ", x_state)
添加回答
舉報
0/150
提交
取消