Floyd Üçgeni yazdırma

Ekrana floyd üçgeni nasıl yazdirabilirim

Hangi dil, hangi kutuphane, hangi arac ve nasil?

Aşağıdaki kodları inceleyin isterseniz:

def floyd_ucgeni(n: int):
    n = list(range(1, n + 1))
    start = 0
    result = []
    for i in range(len(n)):
        end = start + i + 1
        result.append(n[start:end])
        start += i + 1
    result = [i for i in result if i]
    if any(len(item) != index for index, item in enumerate(result, 1)):
        return []
    else:
        return result

        
for i in floyd_ucgeni(6):
    print(*i)

Çıktı:

1
2 3
4 5 6

Floyd üçgeni oluşturmayan bir sayı girilmişse, kodlar çıktı vermeyecektir.

Daha basit bir yol da izlenebilir:

def floyd_üçgeni(n: int):
    k = 0
    for i in range(n):
        l = []
        for j in range(i + 1):
            k += 1
            l.append(k)
        yield l


for i in floyd_üçgeni(3): # 3 satırlık bir üçgen
    print(*i)

1 Beğeni

İyi de arkadaş Python demiyor ki?

Evet, sadece nasıl ekrana floyd üçgeni yazdırabileceğini soruyor. Bizim verdiğimiz kodları CPython ile çalıştırarak yazdırabilir.

Hepinize tesekkur ederim peki floyd üçgeni olusturmayan bir sayi girdiğimizde ekrana uyari verip tekrar sayi istemesini nasil sağlayabiliriz döngüyü while ile baglayarak mi

Ekrem bey sizin for dongusunde range nin yanina 3 yazdiginiz yere n yazip ustte n kismini kullanicidan isteyerek hallettim tesekkurlee