Advertisement
Guest User

pedrinho do panico veja isto

a guest
Sep 22nd, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1.  
  2. def its_ok_months(calculo_meses):
  3. if int(calculo_meses[1]) < 12:
  4. return calculo_meses
  5. else:
  6. calculo_meses[1] = calculo_meses[1] - 12
  7. calculo_meses[2] += 1
  8. return calculo_meses
  9.  
  10.  
  11. def increment_n_verify(calculo_data):
  12. calculo_data[1] += 1
  13. calculo_data = its_ok_months(calculo_data)
  14. return calculo_data
  15.  
  16.  
  17. def calcula_dias(it, j):
  18.  
  19. if it == 2:
  20. if is_bissexto(j):
  21. return 29
  22. else:
  23. return 28
  24. elif it < 7 and it % 2 != 0 or it >= 7 and it % 2 == 0:
  25. return 31
  26. else:
  27. return 30
  28.  
  29.  
  30. def treat_days_whitout_coverage(calculo_data, inicial, final, flag):
  31. start_point = 0 if flag else inicial[1]
  32. for i in range(start_point, final[1]):
  33. calculo_data = increment_n_verify(calculo_data)
  34.  
  35. if inicial[0] <= final[0]:
  36. calculo_data[0] = final[0] - inicial[0]
  37. else:
  38. calculo_data[0] = calcula_dias(final[1] - 1, final[2]) - inicial[0] + final[0]
  39. calculo_data[1] -= 1
  40. return calculo_data
  41.  
  42.  
  43. def is_bissexto(j):
  44. if j % 400 == 0 or j % 4 == 0 and j % 100 != 0:
  45. return True
  46. else:
  47. return False
  48.  
  49.  
  50. def main():
  51. data_inicial = input('insira a data inicial \n');
  52. data_final = input('insira a data final \n')
  53.  
  54. data_final = data_final.split("/")
  55. data_inicial = data_inicial.split("/")
  56.  
  57. calculo_data = [0, 0, 0]
  58.  
  59. for index in range(0, len(data_final)):
  60. data_inicial[index] = int(data_inicial[index])
  61. data_final[index] = int(data_final[index])
  62.  
  63. print(data_inicial)
  64. print(data_final)
  65. flag = False
  66. for j in range(data_inicial[2], data_final[2]):
  67. flag = True
  68. mes = data_inicial[1] if data_inicial[2] == j else 0
  69. for it in range(mes, 12):
  70. calculo_data = increment_n_verify(calculo_data)
  71.  
  72. calculo_data = treat_days_whitout_coverage(calculo_data, data_inicial, data_final, flag)
  73. print(calculo_data)
  74.  
  75. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement