Python 3.5.2 iki sayı arasındaki çift sayıların ortalamasını almak

Tetrahedral

Kilopat
Katılım
5 Aralık 2015
Mesajlar
30
Daha fazla  
Cinsiyet
Erkek
Kullanıcıdan alınan iki sayı arasındaki çift sayıların ortalamasını alan kodu yazınız (sayılarda dahil).
Konu belli, yardımlarınızı bekliyorum.
 
Son düzenleyen: Moderatör:
Grişen sayıdan başlayan ve sondaki sayıdan biten bir döngü yap while ile de for ile de yapabilirsin.
Her sayıda artan bir değişken tut ve toplam sayı diye değişken tut her sayıda toplam a ekle ve toplamı her sayıda bir arttırdığın değişkene böl.
İyi çalışmalar.

Kodunu yazarsın o kadar zor değil dediklerimi deneyin hiç bilginiz yoksa internetten dediklerime teker teker bakın yazarsınız ya çok kolay.
 
Kendin öğrenmen en iyisi örnek olsun ve bana da alıştırma olsun diye yazıyorum :D
Buradan kopyalayıp .py bir editöre yapıştırıp incelemeni tavsiye ederim.
Python 3 için :

Kod:
while True:
#while ile döngü oluşturdum ki kullanıcı istediği kadar kullanabilsin.

    depo = ""#ileride for döngüsü için kullanacağız


#kullanıcının sayı değeri girmek yerine sayı olmayan bir değer girmesine karşın,
#try except kullanarak olası hata durumunda başa sarmasını sağladım

    try:
        sayı1 = input("İlk sayıyı gir : ")
        sayı1int = int(sayı1)

    except:
        print("Sayı girmelisin!")



    try:
        sayı2 = input("İkinci sayıyı gir : ")
        sayı2int = int(sayı2)

    except:
        print("Sayı girmelisin!")


       

    for i in range(sayı1int,sayı2int+1):
#burada range() yardımı ile girilen 2 değerin arasındaki tüm sayıları for ile teker teker taratabileceğiz.
#range 1. değerden başlayım 2. değere kadar devam ettiği için sayı2int+1 ile 2. sayıyıda dahil ettim.
#eğer sayıların arasını almak istiyorsan dahil etmeden range(sayı1int-1,sayı2int) yaparak ilk sayıyıda çıkartırsın.

        if i % 2 == 0:
#burada % ile i nin 2 ile bölümünden kalan sonucu buldum ve bir koşula bağladım.
#i zaten girilen 2 sayı arasındaki tüm sayıları for dan teker teker geçireceği için her seferinde farklı sayıları deneyecek.

            depo = depo + str(i) + ", "
#önceden boş olarak tanımladığımız depo değişkenine kontrolden çift olarak geçen sayıları,
#hepsinin arasında birer boşluk ve virgül olacak şekilde depoya aktarıyorum.
#hata verememsi içinde int olan i mizi str e dönüştürdüm.



    print("{} ile {} arasındaki çift sayılar : {}.".format(sayı1,sayı2,depo[:len(depo)-2]))
#format yardımı ile kümlerimin içine girilen sayıları aktardım.
#son kümeye ise [] ve len() yardımıyla son 2 basamak hariç,
#tüm depo içindeki değerleri yazacak.
#çünkü yazdığım kodlar yüzünden son 2 basamak ', ' olacak ve bu gereksiz.

    while True:
        seçenek = input("Programı kullanmaya devam etmek için 'd', çıkmak için 'q' komutunu gir : ")
#kullanıma devam etmek isteyebilir. bu yüzden önüne seçenek sunduk.
#ve bizim istemediğimiz mesela 'k' gibi bir komut girerse tekrar sorabilmesi için while döngüsünü kurdum.

        if seçenek.lower() == "d":
            break
#büyük yazma ihtimaline karşı lower() ile değeri küçük harf yaptım.
#eğer d derse bu en son oluşturduğumuz while döngüsünü break ile kıracak ve program en baştan başlayacak.

        elif seçenek.lower() == "q":
            quit()
#burada da aynı şekilde girileni küçük aldım ve q girerse quit() ile programı kapattırdım.

        else:
            print("Yanlış kamut! Bir daha dene.")
#burada da istediğimiz değerler dışında bir şey girerse while kırılmayacak ve tekrar seçenek kısmına dönecek.
 
Kendin öğrenmen en iyisi örnek olsun ve bana da alıştırma olsun diye yazıyorum :D
Buradan kopyalayıp .py bir editöre yapıştırıp incelemeni tavsiye ederim.
Python 3 için :

Kod:
while True:
#while ile döngü oluşturdum ki kullanıcı istediği kadar kullanabilsin.

    depo = ""#ileride for döngüsü için kullanacağız


#kullanıcının sayı değeri girmek yerine sayı olmayan bir değer girmesine karşın,
#try except kullanarak olası hata durumunda başa sarmasını sağladım

    try:
        sayı1 = input("İlk sayıyı gir : ")
        sayı1int = int(sayı1)

    except:
        print("Sayı girmelisin!")



    try:
        sayı2 = input("İkinci sayıyı gir : ")
        sayı2int = int(sayı2)

    except:
        print("Sayı girmelisin!")


    

    for i in range(sayı1int,sayı2int+1):
#burada range() yardımı ile girilen 2 değerin arasındaki tüm sayıları for ile teker teker taratabileceğiz.
#range 1. değerden başlayım 2. değere kadar devam ettiği için sayı2int+1 ile 2. sayıyıda dahil ettim.
#eğer sayıların arasını almak istiyorsan dahil etmeden range(sayı1int-1,sayı2int) yaparak ilk sayıyıda çıkartırsın.

        if i % 2 == 0:
#burada % ile i nin 2 ile bölümünden kalan sonucu buldum ve bir koşula bağladım.
#i zaten girilen 2 sayı arasındaki tüm sayıları for dan teker teker geçireceği için her seferinde farklı sayıları deneyecek.

            depo = depo + str(i) + ", "
#önceden boş olarak tanımladığımız depo değişkenine kontrolden çift olarak geçen sayıları,
#hepsinin arasında birer boşluk ve virgül olacak şekilde depoya aktarıyorum.
#hata verememsi içinde int olan i mizi str e dönüştürdüm.



    print("{} ile {} arasındaki çift sayılar : {}.".format(sayı1,sayı2,depo[:len(depo)-2]))
#format yardımı ile kümlerimin içine girilen sayıları aktardım.
#son kümeye ise [] ve len() yardımıyla son 2 basamak hariç,
#tüm depo içindeki değerleri yazacak.
#çünkü yazdığım kodlar yüzünden son 2 basamak ', ' olacak ve bu gereksiz.

    while True:
        seçenek = input("Programı kullanmaya devam etmek için 'd', çıkmak için 'q' komutunu gir : ")
#kullanıma devam etmek isteyebilir. bu yüzden önüne seçenek sunduk.
#ve bizim istemediğimiz mesela 'k' gibi bir komut girerse tekrar sorabilmesi için while döngüsünü kurdum.

        if seçenek.lower() == "d":
            break
#büyük yazma ihtimaline karşı lower() ile değeri küçük harf yaptım.
#eğer d derse bu en son oluşturduğumuz while döngüsünü break ile kıracak ve program en baştan başlayacak.

        elif seçenek.lower() == "q":
            quit()
#burada da aynı şekilde girileni küçük aldım ve q girerse quit() ile programı kapattırdım.

        else:
            print("Yanlış kamut! Bir daha dene.")
#burada da istediğimiz değerler dışında bir şey girerse while kırılmayacak ve tekrar seçenek kısmına dönecek.
usta büyük adamsın :) sağolasın. sınava senin bu yazdığını okuyarakta girdim, try except kısmının birebir aynısı bir soru idi :) yardımın çok dokundu. pythonda baya iyi gibi gözüküyorsun, bende daha yeniyim
 
usta büyük adamsın :) sağolasın. sınava senin bu yazdığını okuyarakta girdim, try except kısmının birebir aynısı bir soru idi :) yardımın çok dokundu. pythonda baya iyi gibi gözüküyorsun, bende daha yeniyim
Teşekkür ederim ancak try except de bir hata yapmışım. try except hata verdiği zaman tekrar try a dönmüyor aynen devam ediyor ben try a dönüp bir daha deneyecek diye düşünmüşüm sanırım :D Onu while döngüsü içine alırsan daha kullanışlı olur.
 
Uyarı! Bu konu 8 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı