atanasovetr

Videos Repetition Algorithm

Dec 6th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.55 KB | None | 0 0
  1. import datetime
  2.  
  3. def all_videos_length(timeList): # с тази функция определяме колко е времето за едно завъртане на всички видеа
  4.     total = datetime.timedelta()
  5.     for i in timeList:
  6.         (m, s) = i.split(':') # Сплитваме велюто на две части
  7.         current = datetime.timedelta( minutes=int(m), seconds=int(s)) # Лявата я присвояваме на минутите, дясната на секундите
  8.         total += current # събираме ги
  9.     return total
  10.  
  11. firstVidReps = 0; # Повторенията на първото видео
  12. secondVidReps = 0; # Повторенията на второто видео
  13. thirdVidReps = 0; # Повторенията на третото видео
  14.  
  15. videos = ['59:00',
  16.           '01:00',
  17.           '00:01',] # дължините на видеата
  18.  
  19. fullCircle = all_videos_length(videos) # Изчисляваме продължителността на пълния кръг
  20.  
  21. dayRepeats = int(datetime.timedelta(hours= 24, minutes=00, seconds=00) / fullCircle) # Дневни повторения
  22. remainingTime = datetime.timedelta(hours= 24, minutes=00, seconds=00) % fullCircle # Оставащото време след максималния брой завъртания
  23.  
  24. firstVidReps += dayRepeats #Добавяме направените повторения към съответното видео
  25. secondVidReps += dayRepeats
  26. thirdVidReps +=dayRepeats
  27. print(f"Текущо оставащо време: {remainingTime}")
  28.  
  29.  
  30. for i in range (len(videos)):
  31.     (m, s) = videos[i].split(':') # Правим същото нещо като във функцията all_videos_length()
  32.     current = datetime.timedelta( minutes=int(m), seconds=int(s))
  33.     if current > remainingTime:
  34.         break
  35.     if remainingTime > current: # Ако дължината на видеото в съответната итерация е по-малка от оставащото време махаме неговата дължина от remainingTime и добавяме едно повторение повече
  36.         remainingTime -= current
  37.         if i == 0:
  38.             firstVidReps += 1
  39.         if i == 1:
  40.             secondVidReps += 1
  41.         if i == 2:
  42.             secondVidReps += 1
  43.  
  44.  
  45.  
  46. print(f"Оставащо време без повече възможни възпроизвеждания на видео за този ден: {remainingTime}")
  47. print(firstVidReps)
  48. print(secondVidReps)
  49. print(thirdVidReps)
Add Comment
Please, Sign In to add comment