Pegue uma entrada inteira com espaço e armazene o valor em python
Estou tentando resolver o problema do ângulo do relógio e aí tive que fazer a entrada como a seguir:
Entrada
2
5 30
6 00
onde A primeira linha contém o número de casos de teste T. Cada caso de teste contém dois inteiros h e m que representam a hora no formato de hora e minuto.
Estou tentando obter informações como esta
size=int(input())
for i in range(size):
h,m=list(map(int,input().split(' ')))
mas não consigo armazenar o valor para o cálculo do ângulo do relógio, pois ele está substituindo o valor anterior.
Respostas
Experimente isto:
size = int(input())
angle = []
clock = []
for i in range(size):
Inp = input().split(' ')
clock.append(Inp) # store input clock
hour, minute = int(Inp[0]), int(Inp[1])
ans = abs((hour * 30 + minute * 0.5) - (minute * 6))
angle.append(min(360 - ans, ans)) # store angle
print(clock)
print(angle)
Hora de saída = 2, minuto = 2 e hora = 12, minuto = 2:
[[2, 2], [12, 2]]
[49.0, 11.0]
Você pode declarar uma lista para conter as entradas fora do loop e anexar a ela em cada iteração:
size=int(input())
clocks = []
for i in range(size):
clocks.append(list(map(int,input().split(' '))))
Você praticamente respondeu você mesmo à pergunta: não sobrescreva a primeira entrada pela segunda até que tenha terminado.
size=int(input())
for i in range(size):
h,m=list(map(int,input().split(' ')))
# Do you calculation here.
hour_pos = h + m/60
angle = ...
print(angle)