Python ile dörtgen, kare ve üçgen belirtme

Programın en son hali budur. Konu sahibinin kare ve üçgenin özelliklerinden ziyade okunabilir, optimize ve kullanıcı dostu programları nasıl yazacağını bilmeli.
Elinize sağlık gayet güzel olmuş ama bir kaç düzeltme yapacağım ;

if (a + b) >= c and (a + c) >= b and (b + c) >= a: Bu satırda ise eşitlik olmayacak A+b= c olursa üçgen olmaz bir doğru oluşur, herhangi 2 kenarın toplamı 3. kenardan "büyük" olmalı.

if a == b == c:
print("Eş kenar üçgen.")
elif a == b and a == c: > Bu satırda and yerine or olması, ayrıca B ve C nin eşitliğinin kontrol edilmesi gerekmiyor mu? Sonuçta B ve C nin eşit olduğu durumda da bir ikizkenar üçgen oluşur.
print("İkiz kenar üçgen.")
else:
print("Normal üçgen.")
 
Programın en son hali budur. Konu sahibinin kare ve üçgenin özelliklerinden ziyade okunabilir, optimize ve kullanıcı dostu programları nasıl yazacağını bilmeli.
Sen sadece dikdörtgeni yatay bir şekilde koyup kenarlarının doldurulmasını istiyorsun. Oysa ki girilen 4 sayıdan 2 tanesi birbirine eşitse dikdörtgen olabilir. Sorunda sana 1. kenar şurası 2. kenar şurası diye belirtmediği sürece tüm ihtimalleri hesaplaman gerekiyor.

Programlama matematiksel ihtiyaçlardan doğar zaten. Konsol uygulaması yazıyorsun kullanıcı dostu değil işin matematiğini öğrenmek amaç. Arkadaş sen ya da benim seviyemde değil.
 
if (a + b) >= c and (a + c) >= b and (b + c) >= a: Bu satırda ise eşitlik olmayacak A+b= c olursa üçgen olmaz bir doğru oluşur, herhangi 2 kenarın toplamı 3. kenardan "büyük" olmalı.
Doğru.
elif a == b and a == c: > Bu satırda and yerine or olması, ayrıca B ve C nin eşitliğinin kontrol edilmesi
Doğru. Malesef düzenleme için süre dolmuş.
Python:
istenenSekil = input("Üçgen veya dörtgen?: ").lower()

if istenenSekil == "dörtgen":
    print("""
              2
        --------------
        |            |
      1 |            | 3
        |            |
        --------------
              4
        """)
   
    try:
        a = abs(int(input("1.kenarı giriniz: ")))
        b = abs(int(input("2.kenarı giriniz: ")))
        c = abs(int(input("3.kenarı giriniz: ")))
        d = abs(int(input("4.kenarı giriniz: ")))
    except ValueError:
        print("Kenar uzunlukları yalnızca sayı olabilir.")
        exit()

    if a == b == c == d:
        print("Kare.")
    elif a == c and b == d:
        print("Dikdörtgen.")
    else:
        print("Normal dörtgen.")

elif istenenSekil == "üçgen":
    print("""
            /\\
           /  \\
        1 /    \\ 3
         /      \\
        /        \\
        ----------
             2
    """)

    try:
        a = abs(int(input("1.kenarı giriniz: ")))
        b = abs(int(input("2.kenarı giriniz: ")))
        c = abs(int(input("3.kenarı giriniz: ")))
    except ValueError:
        print("Kenar uzunlukları yalnızca sayı olabilir.")
        exit()

    if (a + b) > c and (a + c) > b and (b + c) > a:

        if a == b == c:
            print("Eş kenar üçgen.")
        elif a == b or a == c:
            print("İkiz kenar üçgen.")
        else:
            print("Normal üçgen.")

    else:
        print("Üçgen değil.")

else:
    print("Belirtilen değerlerden birini seçiniz!")

Düzelttim.
Sen sadece dikdörtgeni yatay bir şekilde koyup kenarlarının doldurulmasını istiyorsun. Oysa ki girilen 4 sayıdan 2 tanesi birbirine eşitse dikdörtgen olabilir. Sorunda sana 1. kenar şurası 2. kenar şurası diye belirtmediği sürece tüm ihtimalleri hesaplaman gerekiyor.

Programlama matematiksel ihtiyaçlardan doğar zaten. Konsol uygulaması yazıyorsun kullanıcı dostu değil işin matematiğini öğrenmek amaç. Arkadaş sen ya da benim seviyemde değil.
O kullanıcıya kenar sırasını gösterebilmek için. Senin dediğin gibi olursa, dörtgen.png bu da program için bir dikdörtgen oluyor. Umarım anlatabilmişimdir.
 
Son düzenleme:

Geri
Yukarı