Python Sayı Sıralama Sorusu

Soru

Merhabalar,

Python da Daha küçük değeri bir listeden daha büyük değere nasıl sıralayabilirim? (yukarıdaki sayıları küçükten büyüğe doğru numaralayan program)

sayılar = [38,27,43,3,9,82,10]

SIRALAMA

 

*Buradaki kodu küçükten büyüğe sıralayıp numaralandırırken 1den başlamasını nasıl sağlarız?

<

sayılar=[38,27,43,3,9,82,10]
sayılar.sort()
for sıralama in range(len(sayılar)):
print(“{}. {} “.format(sıralama, sayılar[sıralama]))

Burada istenen 0 dan değil 1 den başlayıp numaralandırmaya başlatmak

>

ÇIKTI

0. 3
1. 9
2. 10
3. 27
4. 38
5. 43
6. 82

*Aşağıdaki kodda liste yok  kullanıcıdan sayı alıyor ve onu küçükten büyüğe sıralama yapıyor bu kodu da listeye çevirmek mümkün mü?

Sayılar olarak verilen sayılar birebir kullanılacak ve değişmeyecek ayrıca ekran çıktısında bu sayılarda

1. =3

2. =9

3. = 10

Şeklinde numaralandırılacak aşağıdaki koda bunu eklemek mümkün mü?  Yoksa sadece kullanıcıdan mı alabiliriz , ayrıca def kullanmak zorunluluğu yok sadece liste yi eklemek zorundayım ve onu numaralandırmalıyım fakat ne kadar denesem de liste ekleyemedim. Yardımcı olabilirsiniz sevinirim. Teşekkürler..

sayılar = [38,27,43,3,9,82,10]

Bu listedeki sayılar kullanılarak girilsin ve çıktıda küçükten büyüğe sıraladığı sonucu numaralandırsın.

İlk kodun çıktısındaki gibi.

Daha küçük değeri bir listeden daha büyük değere nasıl sıralayabilirim? (yukarıdaki sayıları küçükten büyüğe doğru numaralayan program)

sayılar = [38,27,43,3,9,82,10]

<

>

“”

How to sort smaller value to bigger value from a list ? (the program numbering the above numbers from small to large)

numbers = [38,27,43,3,9,82,10]

“”

 


Cevaplandı 0
Merve BOZDAĞ 2 hafta 7 Cevaplar 109 görüntüleme Çırak 0

Hakkında Merve BOZDAĞÇırak

Cevaplar ( 7 )

  1. MEHMET DEMİRÖRS
    1

    def mukemmel(sayi):
    toplam = 0
    for i in range(1,sayi):
    if sayi % i == 0:
    toplam += i
    if toplam == sayi:
    return True
    else:
    return False

    try:
    sayi = int(input(“Bir sayı giriniz: “))
    if sayi < 0:
    sonuc = "Negatif sayı giremezsiniz."
    else:
    sonuc = mukemmel(sayi)
    except:
    sonuc = "Hatalı giriş yaptınız"

    finally:
    print(sonuc)

  2. eger sort metodu kullanacaksaniz. liste uzerindeki degisikligi basit bir for dongusu ile yapabilirsiniz. liste uzerinde kuracaginiz bir for dongusu icin her elemanin index degerini 1 arttirarak insert metodu ile listeye ekleme yapabilirsiniz, liste uzerinde degisiklik olmayacaksa yeni bir liste olusturmak daha mantikli.

    mesela

    ya da

     

  3. Bir liste icerisindeki tum elemanlari buyukten kucuge ya da kucukten buyuge siralama sorusunun ise birden fazla cevabi var. merge sort, bubble sort vs gibi kavramlara goz atmanizi oneririm.

    • soruda

      numbers = [38,27,43,3,9,82,10] bu liste kullanılmak zorunda 

      Diğer yani 2. kodda kullanıcıdan alıyor sadece listeye dönüştüremiyorum

      onuda liste ile bu

      numbers = [38,27,43,3,9,82,10] sayıları  alıpve bu sayıları ekranda yazdırırken numaralandırmak mümkün mü?

      ÇIKTI

      3
      9
      10
      27
      38
      43
      82

      bu şekilde sonuç verebilir mi?

      (iki kodda da istenen sonuc bu şekilde)

  4. 1. =3

    2. =9

    3. =10

    4. =27

    5. =

    6. =

    Şeklinde küçülten büyüğe olan sayıları önünde 1. 2. Olarak numaralandırıp ekrana o şekilde sonuç vermesi isteniyor.  Ayrıca öğrenciyim yeni öğreniyorum zamanım kalmadı yarın teslim etmem gerek kodları . Listeye ekleyip numaralandırma mümkünse eğer yardımcı olursanız sevinirim , Teşekkürler

  5. Bu cevap düzeltildi.

    bu tam olarak istedigin ciktiyi verir

    En iyi cevap
    • Bu cevap düzeltildi.

      Yazdığınız kodlardan birini bu kodlara ekleyip liste şeklinde sayıları verip burada çalıştırmak mümkün mü?

      sayılar=[38,27,43,3,9,82,10]  sabit olarak bunlar olacak kullanıcı girmeyecek fakat kodda listeyi ekleyemiyorum. ve bunları da numaralandırarak çıktı vermesi mümkün mü?

      <

      def s_sayılar():            #Listeden Sayı Alınması Gerek!
          sayı_giriniz=input(“Sayı giriniz..: “)
          return sayı_giriniz

      def sıralama():
          sıra=input(“İşlem sayısı belirtiniz:\nKüçükten büyüğe sıralama için 1\nBüyükten Küçüğe sıralamak için 2′ yi tuşlayınız..\n”)
          if sıra==”1″:
              return 1
          elif sıra==”2″:
              return 2
          else:
              return 3

      def sıfırla():
          yaz=”0123456789, “              #Bu karakterler girilebilir
          sayılar=s_sayılar()
          sayı_listesi=list(sayılar)      #Değişiklik yapabilmek için liste kullanılır
          for x in sayı_listesi:
              if x not in yaz:
                  return False
          for x in sayı_listesi:          #Tüm boşlukları virgüle çevirir
              if x == ” “:
                  sayı_listesi[sayı_listesi.index(x)]= “,”
          sayılar= “”
          for x in sayı_listesi:
              sayılar += x
          return sayılar.split(“,”)       #Sayları virgülle ayırma

      while True:
          sayılar = sıfırla()
          sırala=[]
          islem = sıralama()
          if islem ==  1 :
              for i in range(len(sayılar)):
                  kucuk_buyuk=min(sayılar)
                  sırala.append(kucuk_buyuk)
                  sayılar.remove(sayılar[sayılar.index(kucuk_buyuk)])
              result =”&lt;“.join(sırala)
              print(“\n” + result)
              break
          elif islem == 2 :
              for i in range(len(sayılar)):
                  buyuk_kucuk=max(sayılar)
                  sırala.append(buyuk_kucuk)
                  sayılar.remove(sayılar[sayılar.index(buyuk_kucuk)])
              result = “&gt;“.join(sırala)
              print(“\n” + result)
              break
          elif islem == 3 :
              print(“\nHatalı giriş!”)

      >

Cevap bırak

Captcha Captcha güncellemek için resime tıkla