So stoppen Sie dies während der Schleife, nachdem es eine vollständige Array durchlaufen hat
Posted: 13 Apr 2025, 00:50
Ich habe diesen Code, der eine Schleife ausführt, und er funktioniert fast genau so, wie ich es will, außer dass ich es nicht zum Stoppen bringen kann. Unten finden Sie den relevanten Code: < /p>
Ich verstehe, dass sich diese Sequenz aufgrund der Zeit (true) auf einer Forever -Schleife wiederholt. Ich bin mir nicht sicher, worauf ich diese Schleife ändern soll. Ich habe auch die einfache Lösung ausprobiert: < /p>
Wenn ich den Break im obigen Snippet verwende, hält der Zähler am ersten Element in diesem Array an:
Was passiert: Es führt die volle City_Array ['1', '2', '3'] oder [0, 1, 2] , dann läuft es wieder, unendlich. '2', '3'] oder [0, 1, 2] - Dann möchte ich, dass es anhält, sobald es das vollständige Array durchläuft.>
Code: Select all
while(True):
try:
# File to persist counter
COUNTER_FILE = 'run_counter.txt'
def get_next_element(arr):
"""Get next array element using persisted counter"""
# Read existing counter or initialize
if os.path.exists(COUNTER_FILE):
with open(COUNTER_FILE, 'r') as f:
counter = int(f.read().strip())
else:
counter = 0
# Get current element
element = arr[counter % len(arr)] # Use modulo for circular behavior
# Update counter
counter += 1
with open(COUNTER_FILE, 'w') as f:
f.write(str(counter))
return element
# Example usage across multiple runs
city_array = ['1', '2', '3']
city = get_next_element(city_array)
print(f"Assigned value: {city}")
Code: Select all
print(f"Assigned value: {city}")
break
Code: Select all
city_array = ['1', '2', '3']