Запрашиваемая обратная связь: Глобальные переменные или классы в таймере обратного отсчета python2.7 для Raspberry Pi - PullRequest
0 голосов
/ 28 января 2019

Это мой первый пост в Stack Overflow.Я начал работать с python 2.7 примерно 3 недели назад, и это моя первая попытка создать что-то в коде (у меня есть некоторый базовый опыт работы с Arduino IDE).Хотя таймер обратного отсчета теперь работает для моих целей, я думаю, что я могу сделать код намного лучше, особенно когда я продолжаю объявлять свою глобальную переменную для цвета, чтобы мои цифры выглядели мигающими (от красного к черному к красному каждую секунду).Я думаю, что мне может понадобиться использовать класс для цвета, но я не знаю как.Не могли бы вы дать мне несколько советов?

Этот код представляет собой просто фрагменты, собранные и сшитые из кода, который я нашел в онлайн-руководствах, в основном из этого: https://www.element14.com/community/community/code_exchange/blog/2012/12/17/raspberry-pi-workout-timer

Любая обратная связь будет принята с благодарностью, особенно для любого новичка.ошибки, которые я могу совершить.

Всего наилучшего,

Катриен

digit_colour = pygame.Color(0, 255, 0)

# Colon between minutes and seconds
pygame.draw.rect(screen, digit_colour, pygame.Rect(left_offset + 2*(2*offset + digit_width), top_offset + offset + led_width / 2 - led_height, led_height, led_height))
pygame.draw.rect(screen, digit_colour, pygame.Rect(left_offset + 2*(2*offset + digit_width), top_offset + 3*offset + 3 * led_width / 2 - led_height, led_height, led_height))

print "Time is up!"

for j in range(0, timeIsUp):
     # Draw time on screen
     def colourChange():
        global digit_colour
        digit_colour = pygame.Color(255, 0, 0)

     colourChange()          
     draw_time(screen, 0)
     pygame.display.flip()
     time.sleep(1)

    def colourChange():
        global digit_colour
        digit_colour = pygame.Color(0, 0, 0)

     colourChange()          
     draw_time(screen, 0)
     pygame.display.flip()
     time.sleep(1)

 if __name__ == '__main__': main()

1 Ответ

0 голосов
/ 29 января 2019

Привет, я новичок и имею опыт работы с Arduino IDE.Вы могли бы сделать необработанный ввод, спрашивая вас, как долго должен длиться таймер обратного отсчета.И тогда у вас может быть цикл с минус -1 и time.sleep (1) и распечатка оставшегося времени.

import time

minutes = raw_input("Minutes? ")
seconds = raw_input("Seconds? ")
time = minutes*60 + seconds
while(remaintime = True)
    time-1
    time.sleep(1)
    print(time," seconds left")
    if time<0
         remaintime = False
         print("time out")

Это намного более простые часы обратного отсчета, но они работают!

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