Python List Comprehension
-
nposeLx bunu yazdı
Herkese ayrı ayrı teşekkürler.
@YekteranBaymedir , range direkt bu şekilde kullanabilirmişim. Sanırım alıştırma yapayım derken o an bunu düşünemedim, çok sağolun. :)
hocam range sana output olarak bir liste vermiyor cunku kendisi yanlis hatirlamiyorsam bir generator.
sen [*range(0,100)] yaptigin zaman aslinda diyorsun ki, range'in dondurdugu nesne icerisindeki elemanlari tek tek gez, benim list'ime koy.
yani o asterisk operatorunu bircok yerde kullanabilecegin anlamina geliyor bu.
ornegin,
params = ["top", "kek"]
def funk(param1, param2):
print(param1, param2, "rofl")
funk(*params)
-
end bunu yazdınposeLx bunu yazdı
Herkese ayrı ayrı teşekkürler.
@YekteranBaymedir , range direkt bu şekilde kullanabilirmişim. Sanırım alıştırma yapayım derken o an bunu düşünemedim, çok sağolun. :)
hocam range sana output olarak bir liste vermiyor cunku kendisi yanlis hatirlamiyorsam bir generator.
sen [*range(0,100)] yaptigin zaman aslinda diyorsun ki, range'in dondurdugu nesne icerisindeki elemanlari tek tek gez, benim list'ime koy.
yani o asterisk operatorunu bircok yerde kullanabilecegin anlamina geliyor bu.
ornegin,
params = ["top", "kek"]
def funk(param1, param2):
print(param1, param2, "rofl")
funk(*params)
Haklısınız, sadece range'in yaptığı harekti o şekilde daha hızlı output edebilirmişim gibi düşündüm(one line örnekleriniz haricinde :) ) . Try Except kısımına geldim derslerde, bakalım, genelde dersleri pekiştirmek için bir soruya, cevaptaki kodu daha farklı nasıl yazabilirdim diyerek ilerliyorum.
-
Tekrar merhaba, Yeni konuyla rahatsız etmek istemedim.
tek sayıların ondalık değerlerinin yuvarlanmasıyla, çift çayılı değerlerin ondalık değerlerinin yuvarlama sonucu farklı veriyor. Matematikte böyle bir konu var mıydı hiç hatırlayamadım. :)
Aşağıdaki şekilde bir fonksiyon oluşturdum ;
def tamsayicevir(): girdi = input("Ondalik sayi giriniz:") print("Yuvarlama işleminin sonucu : {}".format(round(float(girdi))))
*********************************************************************************************************
Bu fonksiyonu aşağıdaki şekilde çağırıyorum ;def tamsayicevir(): girdi = input("Ondalik sayi giriniz:") status='' try: girdi= float(girdi) print("Yuvarlama işleminin sonucu : {}".format(round(girdi))) status = 'başarılı' except: print("{} girilen değer ondalık tipe çevrilemiyor.".format(girdi)) status = 'başarısız' finally: print("Tam sayıya çevirme işlemi {} olarak tamamlandı.".format(status))
2.50 = 2, 10.50 = 10 sonuçlarını verirken, 1.50 = 2, 11.50 = 12, 13.50 = 14 sonuçlarını alıyorum.
2.51 = 3, 10.49 = 10 / 10.51 = 11 sonuçlarını alıyorum. Aslında bunlarda sorun görmüyorum. Sadece tek sayılara ondalık değer verdiğimde yuvarlaması çift sayılara göre farklı sonuçlar veriyor.
-
python round ile en yakin cift sayiya yuvarlama yapar hocam :)
https://docs.python.org/release/3.8.5/library/functions.html#round
https://www.softwaretestinghelp.com/python-round-function/
-
end bunu yazdı
python round ile en yakin cift sayiya yuvarlama yapar hocam :)
Teşekkür ederim hocam, kusuruma bakmayın lütfen..
Python round() İşlevi (w3schools.com) Burada "en yakın tam sayıya yuvarlar" şeklinde çevirdim de, yanlış anlamışım :)
-
nposeLx bunu yazdı
Tekrar merhaba, Yeni konuyla rahatsız etmek istemedim.
tek sayıların ondalık değerlerinin yuvarlanmasıyla, çift çayılı değerlerin ondalık değerlerinin yuvarlama sonucu farklı veriyor. Matematikte böyle bir konu var mıydı hiç hatırlayamadım. :)
Aşağıdaki şekilde bir fonksiyon oluşturdum ;
def tamsayicevir(): girdi = input("Ondalik sayi giriniz:") print("Yuvarlama işleminin sonucu : {}".format(round(float(girdi))))
*********************************************************************************************************
Bu fonksiyonu aşağıdaki şekilde çağırıyorum ;def tamsayicevir(): girdi = input("Ondalik sayi giriniz:") status='' try: girdi= float(girdi) print("Yuvarlama işleminin sonucu : {}".format(round(girdi))) status = 'başarılı' except: print("{} girilen değer ondalık tipe çevrilemiyor.".format(girdi)) status = 'başarısız' finally: print("Tam sayıya çevirme işlemi {} olarak tamamlandı.".format(status))
2.50 = 2, 10.50 = 10 sonuçlarını verirken, 1.50 = 2, 11.50 = 12, 13.50 = 14 sonuçlarını alıyorum.
2.51 = 3, 10.49 = 10 / 10.51 = 11 sonuçlarını alıyorum. Aslında bunlarda sorun görmüyorum. Sadece tek sayılara ondalık değer verdiğimde yuvarlaması çift sayılara göre farklı sonuçlar veriyor.
evet var
-
nposeLx bunu yazdıend bunu yazdı
python round ile en yakin cift sayiya yuvarlama yapar hocam :)
Teşekkür ederim hocam, kusuruma bakmayın lütfen..
Python round() İşlevi (w3schools.com) Burada "en yakın tam sayıya yuvarlar" şeklinde çevirdim de, yanlış anlamışım :)
Dogru anlamissin hocam. Normalde round tam sayiya yuvarlar sen ikinci paremetreyi verirsen o kadar ondalik (kusurat) uzerinden yuvarlama yapar.
5.836 icin mesela
round(5.836,2) = 5.84
round(5.836,1) = 5.8
round(5,836,0) veya direkt round(5,836) da sana 6 sonucunu verir.