Add Code Angka Yang Disebutkan
This commit is contained in:
parent
cdeb7b6f9c
commit
9dee1e682b
58
Code Angka Yang Disebutkan
Normal file
58
Code Angka Yang Disebutkan
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
def teks_ke_angka(kalimat):
|
||||||
|
# Kamus angka untuk memetakan kata ke angka
|
||||||
|
angka = {
|
||||||
|
"satu": 1,
|
||||||
|
"dua": 2,
|
||||||
|
"tiga": 3,
|
||||||
|
"empat": 4,
|
||||||
|
"lima": 5,
|
||||||
|
"enam": 6,
|
||||||
|
"tujuh": 7,
|
||||||
|
"delapan": 8,
|
||||||
|
"sembilan": 9,
|
||||||
|
"sepuluh": 10,
|
||||||
|
"sebelas": 11,
|
||||||
|
}
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
temp = 0
|
||||||
|
|
||||||
|
# Tokenisasi kalimat menjadi daftar kata
|
||||||
|
tokens = kalimat.split()
|
||||||
|
|
||||||
|
for t in tokens:
|
||||||
|
if t in angka:
|
||||||
|
temp += angka[t]
|
||||||
|
elif t == "belas":
|
||||||
|
temp += 10
|
||||||
|
elif t == "puluh":
|
||||||
|
temp *= 10
|
||||||
|
elif t == "ratus":
|
||||||
|
if temp == 0:
|
||||||
|
temp = 1
|
||||||
|
temp *= 100
|
||||||
|
elif t == "ribu":
|
||||||
|
if temp == 0:
|
||||||
|
temp = 1
|
||||||
|
total += temp * 1000
|
||||||
|
temp = 0
|
||||||
|
elif t == "juta":
|
||||||
|
if temp == 0:
|
||||||
|
temp = 1
|
||||||
|
total += temp * 1000000
|
||||||
|
temp = 0
|
||||||
|
elif t == "seratus":
|
||||||
|
temp += 100
|
||||||
|
elif t == "seribu":
|
||||||
|
total += 1000
|
||||||
|
elif t == "sejuta":
|
||||||
|
total += 1000000
|
||||||
|
|
||||||
|
total += temp
|
||||||
|
return total
|
||||||
|
|
||||||
|
# BAGIAN UTAMA PROGRAM
|
||||||
|
if __name__ == "__main__":
|
||||||
|
kalimat = input("Masukkan kalimat angka: ").lower()
|
||||||
|
hasil = teks_ke_angka(kalimat)
|
||||||
|
print(f"hasil konversi: {hasil}")
|
Loading…
x
Reference in New Issue
Block a user