İlk hesap makine projesi (Python)

William Crusader

Hectopat
Katılım
11 Kasım 2020
Mesajlar
5.359
Makaleler
1
Çözümler
15
Daha fazla  
Cinsiyet
Erkek
Meslek
Yok
En uzun kodum şu ana kadar bu oldu.
[CODE lang="python" title="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ç)[/CODE]
 
Son düzenleyen: Moderatör:
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.
 
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.
 
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?
 
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:
[CODE lang="python" title="Lowercase"]girdi = "ÇARPMA"
print(girdi.lower())[/CODE]
 
Hocam teşekkür ederim bilgiler için fakat proje hakkında yorumunuz nedir?
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. :)
 
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:
[CODE lang="python" title="Lowercase"]girdi = "ÇARPMA"
print(girdi.lower())[/CODE]
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:
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.
 
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.
 

Geri
Yukarı