почему я не получаю все числа, кратные десяти, при использовании этой строки кода? - PullRequest
1 голос
/ 17 июня 2020

Кто-нибудь может сказать мне, почему я не печатаю все числа, кратные десяти, кажется, что куски пропускаются случайным образом?

if pygame.time.get_ticks()%10 == 0:
        print (pygame.time.get_ticks())

1 Ответ

0 голосов
/ 18 июня 2020

Из документов здесь говорится: «Вернуть количество миллисекунд с момента вызова pygame.init ()».

Вы проверяете, заканчивается ли прошедшее время mse c, возвращаемое get_ticks, на 0, и если да, то вы печатаете.

Ваш игровой лог c вряд ли займет меньше mse c, поэтому каждый раз, когда вы делаете этот вызов, вам будет возвращаться какое-то число, последнее di git из которого будет перемещаться, но по статистике имеет 1/10 шанс закончиться на 0 и заставить вас распечатать. Даже если вы сделаете этот вызов менее чем с 10 мсек c интервалами, скажем, каждые 3 мсек c в качестве примера, вы получите только возврат e, который оканчивается на 0 каждые 30 мсек c. Ваши звонки будут более неравномерными по времени, чем это, но статистически это, скорее всего, закончится примерно 1/10 звонков, заканчивающихся нулем. Таким образом, между отпечатками будут значительные промежутки времени, даже если они будут звонить достаточно часто.

Кстати, вы не должны вызывать get_ticks () дважды, а должны вызвать его один раз и сохранить во временной переменной, которую вы вместо этого тестируете и распечатываете, но это не относится к делу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...