LAB_07_NONSTEF
unknown
python
2 years ago
1.9 kB
11
Indexable
keturunan = []
def cek_keturunan(ortu:str,anak:str,index:int = 0):
if index >= len(keturunan): return 0
if ortu == anak: print("sesuai"); return 0
if keturunan[index][0] == ortu:
cek_keturunan(keturunan[index][1],anak)
cek_keturunan(ortu,anak,index+1)
def cetak_keturunan(ortu:str,index:int = 0):
if index >= len(keturunan): return
if keturunan[index][0] == ortu:
anak = keturunan[index][1]
print(anak)
cetak_keturunan(anak)
cetak_keturunan(ortu,index+1)
def jarak_generasi(ortu:str,anak:str,index:int = 0):
if ortu == anak:print(ortu, anak);return
if index >= len(keturunan): return
if keturunan[index][0] == ortu: jarak_generasi(keturunan[index][1],anak)
jarak_generasi(ortu,anak,index+1)
def main():
print("masukan data relasi: ")
while True:
masukan = input().split()
if masukan[0] == "SELESAI": break
keturunan.append(masukan)
print()
print("======================================================================")
print("Selamat Datang di Relation Finder! Pilihan yang tersedia:")
print("1. CEK_KETURUNAN")
print("2. CETAK_KETURUNAN")
print("3. JARAK_GENERASI")
print("4. EXIT")
match int(input("Masukan pilihan: ")):
case 1: print(cek_keturunan(input("Masukan nama parent: "),input("masukan nama child: ")))
case 2: cetak_keturunan(input("Masukan nama parent: "))
case 3: print(jarak_generasi(input("Masukan nama parent: "),input("masukan nama child: ")))
case 4:
print("======================================================================")
print("terima kasih telah menggunakan relation finder!")
case _: print("input tidak valid")
if __name__ == "__main__": main()Editor is loading...