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