Ortaokul 6. sınıf Matematik Kitabımızın 58. Sayfasında bulunan Dizi elemanlarının sıralanması ve Mutlak değer konuları ile ilgili bir etkinliğin Python ile yeniden yapılması.

16_UNITE2_Tam_Sayilar_Siralama.py
16_UNITE2_Tam_Sayilar_Siralama.py
# Mutlak Değer ve TAM SAYILARDA SIRALAMA - Sayfa : 58

from random import randint

# -10 ie 10 sayıları arasında rastgele 10 adet sayı üretilecek. Ama benzersiz olacak.
def listeOlustur():
    liste = []
    for x in range(1,11):
        rast = randint(-10,10)
        while rast in liste:
            rast = randint(-10,10)
        liste.append(rast)

    return liste

# Liste içerisindeki sayılar büyükten küçüğe sıralanacak.
def sirala(liste):
    temp = 0
    for i in range(0,len(liste)):
        for j in range(i+1,len(liste)):
            if liste[i] > liste[j]:
                temp = liste[i]
                liste[i] = liste[j]
                liste[j] = temp
    return liste

# Gelen liste içerisindeki değerlerin 0 dan küçük olanlarını bir listeye, 0 dan büyük olanlarını başka bir listeye aktarmaktadır.
# Burada her iki listede de 0 olabileceğinden şartın 0 olması durumunu her iki listeye eklenmesi olarak düşünülmesi gerekmketedir.
def negatifPozitif(liste):
    negatifListe = []
    pozitifListe = []
    for i in liste:
        if i < 0:
            negatifListe.append(i)
        elif i > 0:
            pozitifListe.append(i)
        else:
            negatifListe.append(i)
            pozitifListe.append(i)

    return negatifListe,pozitifListe

# Fonksiyon 2 parametre almaktadır. 1. en büyüğü bulunacak liste değerleri, 2. ise negatif tamsayılar mı ? Pozitif Tamsayılar mı? nın kararı.
def maksimum(liste,isaret):
    maks = 0
    for i in liste:
        if i * isaret > maks:
            maks = i

    return maks

def minimum(liste):
    min = 10
    for i in liste:
        if i < min:
            min = i

    return min

# -10 , 10 Arasında rastgele oluşturulan sayıların listesi
anaListe = listeOlustur()
print(f"\n-10 , 10 Arasında rastgele oluşturulan sayıların SIRALI listesi : {sirala(anaListe)}\n")

negatif_Pozitif = negatifPozitif(anaListe)
print(f"Negatif Tam Sayılar : {negatif_Pozitif[0]} - {negatif_Pozitif[1]} : Pozitif Tam Sayılar\n")

negatif_maks = maksimum(negatif_Pozitif[0],-1)
print(f"Negatif tam sayıların En Büyüğü : {negatif_maks}")

pozitif_maks = maksimum(negatif_Pozitif[1],1)
print(f"Pozitif tam sayıların En Büyüğü : {pozitif_maks}\n")

negatif_min = minimum(negatif_Pozitif[0])
print(f"Negatif tam sayıların En Küçüğü : {negatif_min}")

pozitif_min = minimum(negatif_Pozitif[1])
print(f"Pozitif tam sayıların En Küçüğü : {pozitif_min}")