İlk hesap makine projesi (Python)

Boffy

Centipat
Katılım
11 Kasım 2020
Mesajlar
3.748
Makaleler
1
Çözümler
7
Yer
kod yazıyor
En uzun kodum şu ana kadar bu oldu.
Kod:
import time
print ("Dört işlemden birini yazarak işlem yapmaya başlayabilir siniz. toplama,çıkarma,çarpma,bölme. Büyük harf olmamasına dikkat ediniz.")
işlem = input('= ')
if işlem == "çarpma":
    try:
        ilk_sayı = int(input("Çarpmak için ilk sayıyı girin: "))
        ikinci_sayı = int(input("Çarpmak için ikince sayıyı girin: "))
        sonuç = ilk_sayı * ikinci_sayı
        time.sleep(1.5)
    except ValueError as e:
        print (e+"\n")
        print ("Sadece numaralar geçerlidir.")
    except Exception as e:
        print (e+"\n")
        print ("Bir sorun oluştu. Tekrar deneyiniz.")
    else:
        print(sonuç)
if işlem == "bölme":
    try:
        ilk_sayı = int(input("Bölmek için ilk sayıyı girin: "))
        ikinci_sayı = int(input("Bölmek için ikinci sayıyı girin: "))
        sonuç = ilk_sayı / ikinci_sayı
    except ZeroDivisionError as e:
        print(e)
        print("= ile bölme yapamazsınız maalesef.")
    except ValueError as e:
        print(e)
        print("Sadece numaralar geçerlidir.")
    except Exception as e:
        print(e)
        print("Bir sorun oluştu. Tekrar deneyiniz.")
    else:
        print(sonuç)
if işlem == "toplama":
    try:  
        ilksayı = int(input("Toplamak için ilk sayıyı girin: "))
        ikincisayı = int(input("Toplamak için ikinci sayıyı girin: "))
        sonuç = ilksayı + ikincisayı
    except ValueError as e:
        print(e)
        print("Sadece numaralar geçerlidir.")
    except Exception as e:
        print(e)
        print("Bir sorun oluştu. Tekrar deneyiniz.")
    else:
        print(sonuç)
if işlem == "çıkarma":
    try:
        ilksayı = int(input("Çıkarmak için ilk sayıyı girin: "))
        ikincisayı = int(input("Çıkarmak için ikinci sayıyı girin: "))
        sonuç = ilksayı - ikincisayı
    except ValueError as e:
        print(e)
        print("Sadece numaralar geçerlidir.")
    except Exception as e:
        print(e)
        print("Bir sorun oluştu. Tekrar deneyiniz.")
    else:
        print(sonuç)
 
Son düzenleyen: Moderatör:

Ecmel

Decipat
Katılım
26 Aralık 2020
Mesajlar
3.561
Makaleler
3
Çözümler
30
Programlamada, Türkçe karakterler kullanılmaz, bir sonraki projenizde önerim buna dikkat etmeniz iyi olacaktır.

Önemli olan kodun uzunluğu değil işlevidir. 300 satırda yapılacak işi 30 satırda yaptırabiliyorsan; bir yazılımcısın demektir. Bir kodu uzatmak hiçbir zaman tercih edilmez. Temiz bir kodun en önemli özelliklerinden birisi de kısa ve işlevli olmasıdır.

Başarılar dilerim.
 

The Towande

Decipat
Katılım
1 Ocak 2021
Mesajlar
1.690
Makaleler
1
Çözümler
26
Yer
YouTube: The Towande
Linçlik bir durum yok. Modül ve except kullanımı, sıfıra bölünme ve valueError gibi olası programı manipüle edecek durumların bir fonksiyon üzerinden yürütülmesi başlangıç seviyesininde üstünde sayılır. Elinize sağlık, kolaylıklar dilerim.

Üstte de dendiği gibi Türkçe karakterler kullanmamanız global yazılım dünyasına bir tık daha hızlı adapte olmanızı sağlayacaktır.
 
KS
KS
Boffy

Boffy

Centipat
Katılım
11 Kasım 2020
Mesajlar
3.748
Makaleler
1
Çözümler
7
Yer
kod yazıyor
Programlamada, Türkçe karakterler kullanılmaz, bir sonraki projenizde önerim buna dikkat etmeniz iyi olacaktır.

Önemli olan kodun uzunluğu değil işlevidir. 300 satırda yapılacak işi 30 satırda yaptırabiliyorsan; bir yazılımcısın demektir. Bir kodu uzatmak hiçbir zaman tercih edilmez. Temiz bir kodun en önemli özelliklerinden birisi de kısa ve işlevli olmasıdır.

Başarılar dilerim.
Hocam teşekkür ederim bilgiler için fakat proje hakkında yorumunuz nedir?
 
Katılım
17 Ağustos 2019
Mesajlar
1.875
Makaleler
3
Çözümler
30
Yer
Kaer Morhen
Bence de gayet güzel ilk projelerden olarak, exceptionlardan birinden kaçınmak için şöyle bir öneride bulunabilirim isterseniz. İlk işlem inputunu alırken küçük harf olmasına özen gösterin demişsiniz, önce inputu alıp daha sonra "lower()" fonksiyonuyla inputtaki tüm büyük harfleri küçüğe çevirebilirsiniz. Böylece bir exception veya error'dan kaçmış olursunuz.

Örnek:
Lowercase:
girdi = "ÇARPMA"
print(girdi.lower())
 
KS
KS
Boffy

Boffy

Centipat
Katılım
11 Kasım 2020
Mesajlar
3.748
Makaleler
1
Çözümler
7
Yer
kod yazıyor
Bence de gayet güzel ilk projelerden olarak, exceptionlardan birinden kaçınmak için şöyle bir öneride bulunabilirim isterseniz. İlk işlem inputunu alırken küçük harf olmasına özen gösterin demişsiniz, önce inputu alıp daha sonra "lower()" fonksiyonuyla inputtaki tüm büyük harfleri küçüğe çevirebilirsiniz. Böylece bir exception veya error'dan kaçmış olursunuz.

Örnek:
Lowercase:
girdi = "ÇARPMA"
print(girdi.lower())
onu böyle hallettim:
Python:
if işlem == "çarpma" or "Çarpma" or "ÇARPMA":
Başlangıç için iyi duruyor, kodu kısaltmaya çalışın. Temiz kod yazmak da önemlidir, bunu tecrübe ettikçe kazanacaksınız. Hiç kimse başlangıçta mükemmel değildi, başarılar dilerim. :)
Koddaki neleri silmeliyim kısaltmak için?
 
Son düzenleme:

Ecmel

Decipat
Katılım
26 Aralık 2020
Mesajlar
3.561
Makaleler
3
Çözümler
30
Koddaki neleri silmeliyim kısaltmak için?
Silmeden öte optimize etmek diyebiliriz. Bir kodun işlevini daha kısa bir şekilde bilgisayara anlatmalısınız. Bunun için de matematik bilgisinin iyi olması gerekiyor(çoğu projede). Bilgisayara yapacağı şeyi en kısa yoldan anlatmanız lazım yani. Sonraki projeleri böyle yazmaya çalışabilirsiniz, bir anda ortaya çıkmaz zaten bu. Tecrübe edindikçe temiz kod yazmayı öğrenirsiniz. Çalışmaya devam.
 
Katılım
17 Ağustos 2019
Mesajlar
1.875
Makaleler
3
Çözümler
30
Yer
Kaer Morhen
if işlem == "çarpma" or "Çarpma" or "ÇARPMA":
Çözüm odaklı olmak güzel ve çok etraflıca düşünmeye gerek yok bir egzersiz projesi için fakat lower() fonksiyonu garanti olarak "çArpma, çaRpMa" gibi girdileri de düzeltip işleme koyabilir. Tabii ki kullanıcının böyle bir girdide bulunma ihtimali nedir bilinmez fakat daha kapsamlı bir çözüm her zaman daha güzeldir :D.
Aslında yazılan kodda "Şu olursa olmaz." gibisinden açık bulmak için söylemedim bunu ama farklı fonksiyonlar ve işlevler katmak güzeldir çalışırken. İleride daha çok ihtiyacınız olacak bir projede yazdığınız şeyler aklınıza geliverir. O kadar fazla fonksiyon ve iş kolaylaştırıcı şey var ki kullanılmadığı sürece unutulması kadar doğal bir şey yok.
 
Yukarı