İlginç bir python sorunu

Kodla Büyü

hakimiyet001

Seçkin Üye
Seçkin Üye
Mesajlar
418
a diye bir listem var. liste dinamik oluşuyor. örneğin

a = [2,3,4]
a = [1,5,5]
a = [2,2,2]

bu değerleri print ile yazdırırken aralarına < ya da = işaretlerini nasıl koyabiliriz.

2 < 3 < 4
1 < 5 = 5
2 = 2 = 2

gibi
 
Kod:
# Örnek bir listeyi tanımlama
a = [2, 3, 4]

# Listeyi sıralama
a.sort()

# Karşılaştırma işlemlerini gerçekleştirme ve yazdırma
for i in range(len(a)):
    if i > 0:
        if a[i] == a[i-1]:
            print("=", end=" ")
        else:
            print("<", end=" ")
    print(a[i], end=" ")

bunu bir deneyin.
 
1705404539372.png


Sıralamadan da böyle yapabilirsin
 
Son zamanların modasına uydum ve bu soruyu chatGpt 'ye sordum. Kendisi şu şekilde cevap verdi.

içinde farklı integer değerlerin olduğu bir dizi değişkeni, ekrana yazdırırken. Değerlerin arasına küçüktür ve büyüktür işaretlerini doğru olarak yerleştirmesini istiyorum.
Python:
def yazdir_kucuktur_buyuktur(dizi):
    if len(dizi) == 0:
        print("Dizi boş.")
        return
    
    for i in range(len(dizi)):
        if i == 0:
            print(dizi[i], end="")
        else:
            if dizi[i] > dizi[i-1]:
                print(f" > {dizi[i]}", end="")
            elif dizi[i] < dizi[i-1]:
                print(f" < {dizi[i]}", end="")
            else:
                print(f" = {dizi[i]}", end="")
    
    print()

# Örnek kullanım:
sayi_dizisi = [5, 8, 3, 12, 10, 5, 5,6]
yazdir_kucuktur_buyuktur(sayi_dizisi)

Ancak yine de küçüktür ve büyüktür işaretlerini ters koyduğunu farkettim. Onu da elle düzeltip kullanılabilir.
 
Şöyle daha güzel sanki, düzenleme index.
Python:
a.sort()
for i in range (len(a)-1):
    print(a[i],"= " if a[i]==a[i+1] else " < ", end="")
print (a[-1])
 
a = [2, 3, 4]
b = [1, 5, 5]
c = [2, 2, 2]

lists = [a, b, c]

for lst in lists:
result = ''
for i in range(len(lst)-1):
if lst < lst[i+1]:
result += str(lst) + ' < '
elif lst == lst[i+1]:
result += str(lst) + ' = '
else:
result += str(lst) + ' > '

result += str(lst[-1]) # Listenin son elemanını ekle
print(result)
 
Son zamanların modasına uydum ve bu soruyu chatGpt 'ye sordum. Kendisi şu şekilde cevap verdi.


Python:
def yazdir_kucuktur_buyuktur(dizi):
    if len(dizi) == 0:
        print("Dizi boş.")
        return
    
    for i in range(len(dizi)):
        if i == 0:
            print(dizi[i], end="")
        else:
            if dizi[i] > dizi[i-1]:
                print(f" > {dizi[i]}", end="")
            elif dizi[i] < dizi[i-1]:
                print(f" < {dizi[i]}", end="")
            else:
                print(f" = {dizi[i]}", end="")
    
    print()

# Örnek kullanım:
sayi_dizisi = [5, 8, 3, 12, 10, 5, 5,6]
yazdir_kucuktur_buyuktur(sayi_dizisi)

Ancak yine de küçüktür ve büyüktür işaretlerini ters koyduğunu farkettim. Onu da elle düzeltip kullanılabilir.

Hocam kodu bu şekilde düzenli bir halde nasıl yazdınız? Benim yazdığım yorumda düz ve alt alta oldu. Mesaj yazarken hangi seçenekleri düzenlediniz?
 
Son zamanların modasına uydum ve bu soruyu chatGpt 'ye sordum. Kendisi şu şekilde cevap verdi.


Python:
def yazdir_kucuktur_buyuktur(dizi):
    if len(dizi) == 0:
        print("Dizi boş.")
        return
  
    for i in range(len(dizi)):
        if i == 0:
            print(dizi[i], end="")
        else:
            if dizi[i] > dizi[i-1]:
                print(f" > {dizi[i]}", end="")
            elif dizi[i] < dizi[i-1]:
                print(f" < {dizi[i]}", end="")
            else:
                print(f" = {dizi[i]}", end="")
  
    print()

# Örnek kullanım:
sayi_dizisi = [5, 8, 3, 12, 10, 5, 5,6]
yazdir_kucuktur_buyuktur(sayi_dizisi)

Ancak yine de küçüktür ve büyüktür işaretlerini ters koyduğunu farkettim. Onu da elle düzeltip kullanılabilir.
Python:
def kucukbuyuktur(dizi):
    dizi.sort()
    if len(dizi)==0:
        print("dizi boş.")
        return
    for i in range(len(dizi)):
        if i==0:
            print(dizi[i],end="")
        else:
            if dizi[i-1]>dizi[i]:
                print(f" > {dizi[i]}",end="")
            elif dizi[i-1]< dizi[i]:
                print(f" < {dizi[i]}", end="")
            else :
                print(f" = {dizi[i]}",end="")


dizi1=[5,7,8,94,24,9,5]
kucukbuyuktur(dizi1)

böyle olur.sort olmadan hatalı oluyor.
 
Geri
Üst