Я создал такую функцию:
import time
def func(seconds):
time.sleep(seconds)
print(f'waited {seconds} seconds')
Теперь, если я создам while loop
, как это, и вызову func(6)
, через 6 секунд будет напечатано waited 6 seconds
:
start_time = time.time()
while time.time() - start_time < 5:
func(6)
output:
waited 6 seconds
Но если я создам тот же while loop
, при вызове func(4)
скрипт будет ждать 4 секунды, затем вывести waited 4 seconds
, а через 4 секунды он снова напечатает waited 4 seconds
!
start_time = time.time()
while time.time() - start_time < 5:
func(4)
output:
waited 4 seconds
waited 4 seconds
Почему это происходит?
Я понимаю, почему func(6)
ведет себя так, но я ожидал, что func(4)
будет выполнен только один раз, таким образом напечатав waited 4 seconds
только один раз.