bagaimana cara seleksi data dari list yang sudah ada ?

Jika Indonesia hanya bisa mengirim maksimal 14 pemain, buatlah sebuah program yang bisa menyeleksi pemain berdasarkan jumlah perolehan medali.

Ouput yang diharapkan:

Pemain yang layak bergabung dalam Tim Sudirman Cup Indonesia = [list pemain yg layak] Pemain yang kurang layak bergabung dalam Tim Sudirman Cup Indonesia = [list pemain yg kurang layak]

pemain_dan_medali = [
  [7, "Ginting"], [5, "Jonathan C."],
  [9," Hendra"], [9," Ahsan"],
  [8, "Markus"], [8, "Kevin"],
  [4, "Gregoria"], [6, "Praven"],
  [6, "Melati"], [7, "Greysia"],
  [7, "Apriani"], [5, "Putri"],
  [5, "Rian"], [5, "Fajar"],
  [2, "Rio"], [5,"Dewi]

]

avatar diraleosinaga
@diraleosinaga

1 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

<pre>""" pertama buat fungsi 'sort' untuk menyutir perolehan mendali (semakin banyak mendali semakin layak) dari yg terbanyak ke yg paling sedikit.

Lalu 'slice' listnya dengan maximal jumlah pemain yg boleh dikirim, untuk mendapatkan list pemain yg layak dn yg kurang layak """

pemain_dan_medali = [ [7, "Ginting"], [5, "Jonathan C."], [9," Hendra"], [9," Ahsan"], [8, "Markus"], [8, "Kevin"], [4, "Gregoria"], [6, "Praven"], [6, "Melati"], [7, "Greysia"], [7, "Apriani"], [5, "Putri"], [5, "Rian"], [5, "Fajar"], [2, "Rio"], [5,"Dewi"] ]

def sort(list):

sort berdasarkan jumlah mendali dari yn paling banyak

disini saya pake 'selection-sort' algorithm

for i in range(1, len(list)): key = list[i] j = i - 1 while j &gt;= 0 and key[0] &gt; list[j][0]: list[j + 1] = list[j] j -= 1

list[j + 1] = key

sort(pemain_dan_medali)

def seleksi_pemain(list_pemain, max): return list_pemain[:max], list_pemain[max:]

pemain_layak, pemain_kurang_layak = seleksi_pemain(pemain_dan_medali, 14)

print("pemain yang layak: ", pemain_layak, "\n") print("pemain yang kurang layak: ", pemain_kurang_layak)</pre>

avatar iqballatifa
@iqballatifa

1 Kontribusi 0 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban