Ambil Input integer dengan spasi dan simpan nilainya dalam python

Sep 21 2020

Saya mencoba menyelesaikan masalah sudut jam dan di sana saya harus mengambil input seperti di bawah ini:

Memasukkan

2
5 30
6 00

dimana Baris pertama berisi jumlah kasus uji T. Setiap kasus uji berisi dua bilangan bulat h dan m yang mewakili waktu dalam format jam dan menit.

Saya mencoba menerima masukan seperti ini

size=int(input())

for i in range(size):
    h,m=list(map(int,input().split(' ')))

tetapi saya tidak dapat menyimpan nilai untuk penghitungan sudut jam karena nilai tersebut menggantikan nilai sebelumnya.

Jawaban

Mohammadreza Sep 20 2020 at 22:57

Coba ini:

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)

Output jam = 2, menit = 2 dan jam = 12, menit = 2:

[[2, 2], [12, 2]]
[49.0, 11.0]
1 Mureinik Sep 20 2020 at 22:39

Anda bisa mendeklarasikan list berisi input di luar loop dan menambahkannya di setiap iterasi:

size=int(input())

clocks = []
for i in range(size):
    clocks.append(list(map(int,input().split(' '))))
Prune Sep 20 2020 at 22:42

Anda secara praktis menjawab pertanyaan itu sendiri: jangan menimpa input pertama dengan yang kedua sampai Anda selesai melakukannya.

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)