Untitled
unknown
plain_text
a year ago
2.0 kB
10
Indexable
def metin_islem_elemanlarini_ayir(metin):
elemanlar = []
sayi = ''
for ch in metin:
if ch in "0123456789":
sayi += ch
else:
if sayi:
elemanlar.append(sayi)
sayi = ''
elemanlar.append(ch)
if sayi:
elemanlar.append(sayi)
return elemanlar
def carpma_bolme_yap(elemanlar):
islemler = ["*","/"]
i = 0
while i < len(elemanlar):
if elemanlar[i] in islemler:
sol = int(elemanlar[i - 1])
sag = int(elemanlar[i + 1])
if elemanlar[i] == "*":
result = sol*sag
else:
result = int(sol/sag)
elemanlar[i - 1] = str(result)
del elemanlar[i:i + 2]
i = 0
else:
i += 1
return elemanlar
def sayi_bolu_sifir_kontrol(elemanlar):
for i in range(len(elemanlar)-2):
if elemanlar[i] == "/" and elemanlar[i+1] == "0":
return True
return False
def hesapla(metin_islem):
if metin_islem == "":
return ""
if len(metin_islem) == 1:
return metin_islem
metin_islem = metin_islem.replace(" ", "").replace("\n","")
elemanlar = metin_islem_elemanlarini_ayir(metin_islem)
if sayi_bolu_sifir_kontrol(elemanlar):
return "Tanımsız"
elemanlar = carpma_bolme_yap(elemanlar)
#elemanlar = bolme_yap(elemanlar)
i = 1
sonuc = int(elemanlar[0])
while i < len(elemanlar):
if elemanlar[i] == "+":
sonuc += int(elemanlar[i + 1])
elif elemanlar[i] == "-":
sonuc -= int(elemanlar[i + 1])
i += 2
return sonuc
def dosya_oku(dosya_adi):
file = open(dosya_adi,"r")
return file.readlines()
satirlar = dosya_oku("aritmetik_islemler.txt")
sonuc_dosyasi = open("sonuc.txt","w",encoding="utf8")
for satir in satirlar:
sonuc = str(hesapla(satir))
sonuc_dosyasi.write(sonuc+"\n")Editor is loading...
Leave a Comment