Prendi l'input intero con spazio e memorizza il valore in python
Sto cercando di risolvere il problema dell'angolo di clock e lì ho dovuto prendere l'input come di seguito:
Ingresso
2
5 30
6 00
dove La prima riga contiene il numero di casi di test T. Ciascun caso di test contiene due numeri interi h e m che rappresentano l'ora in formato ora e minuto.
Sto cercando di ricevere un input come questo
size=int(input())
for i in range(size):
h,m=list(map(int,input().split(' ')))
ma non sono in grado di memorizzare il valore per il calcolo dell'angolo di clock poiché sostituisce il valore precedente.
Risposte
Prova questo:
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)
Uscita ora = 2, minuto = 2 e ora = 12, minuto = 2:
[[2, 2], [12, 2]]
[49.0, 11.0]
È possibile dichiarare un elenco per contenere gli input al di fuori del ciclo e aggiungervi ad ogni iterazione:
size=int(input())
clocks = []
for i in range(size):
clocks.append(list(map(int,input().split(' '))))
Hai praticamente risposto alla domanda da solo: non sovrascrivere il primo input con il secondo finché non hai finito.
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)