Basit Bir Problem

Merhabalar,

Udemy’den Python üzerine bir eğitim almaktayım. Ödevlerden birisinde tıkandım kaldım, adeta dimağım durdu, düşünemiyorum.

Ödev şu:
“Rastgele 600 adet 0 ile 1000 arasında sayı oluşturup bir liste içerisine aktaran ve 100’den küçük olan sayıların adedini ekrana yazdıran python kodlarını yazınız.”

Yapmaya çalıştığım şey ise şu şekilde :

import random
liste1 = []
liste2 = []
for i in range(600):
liste1.append(random.randint(0,1000))

print(len(liste1))

bunu yazdım ve tıkandım kaldım. Liste1 e attığım random 600 sayının (tabii eğer yapabilmişsem) 100den küçük olanlarını Liste2 ye çekip, Liste2’yi yazdırmayı düşündüm fakat ne yapacağımı bilemedim. Burada kalakaldım.

Yardımcı olacaklara şimdiden teşekkürler.

İyi çalışmalar.

import random

liste1 = []
liste2 = []

for i in range(600):
    liste1.append(random.randint(0,1000))

for i in liste1:
    if i<100:
        liste1.remove(i)
        liste2.append(i)

print(len(liste1))
print(len(liste2))

Düzeltme: liste içeriklerini yazdırmak içinde
print(liste1)
print(liste2)

1 Beğeni
import random as r
# 0-1000 arasında 600 adet sayıdan 100'den küçük sayılar
print(list(filter(lambda i: i<100, r.sample(range(1000), 600))))
# 0-1000 arasında 600 adet sayıdan 100'den küçük olan sayıların sayısı
print(len(list(filter(lambda i: i<100, r.sample(range(1000), 600)))))
#burada her iki fonksiyon birbirinden bağımsız şekilde çalıştığı için
#ikisinin sonuçlarını bir tutma kafan karışmasın, ikisi de doğru çalışıyor

Al sana tek satır…

1 Beğeni

Lambda benim sonraki konularımdan ama teşekkür ederim :slight_smile:

kanka şu ifadelerini sağlam öğreten bir kurum,bir ruhani lider var mı

Açık söylemek gerekirse, piyasada python ile ilgili olan sanal alemde hangi ingilizce kaynak varsa ve yayın evlerinden basılan hangi kitap varsa okuyup tüketmiş biri olarak söylüyorum…

Python’u en iyi öğrenebileceğiniz türkçe kaynak yazbel belgelendirmesidir.

Onun dışında yerli ve yabancı kaynaklardaki örneklerle kendini geliştirebilirsin.

Öklid geometri okulunu zamanında ziyaret eden bir krala demiş ki, bilime giden düz bir kral yolu yoktur. Aydınlanma döneminde bu söz, bilime giden düz bir cumhuriyet bulvarı yoktur, olarak evrilmiş…

Velhasıl, programlama, bilimin en temel dilinin(matematik ve istatistik) elektronik ortama transkribe edilmiş bir hali olan bir bilim olarak, düz bir yolda gidebileceğin bir alan değil. Tıpkı matematik ve istatistik gibi, bolca farklı yöntem ve pratikle, onun özünü kavrayabilirsin.

En kolay yolu, syntaxleri ya da belirli bir takım algoritmaları geliştirip, örnek program dosyalarını kaydederek, unuttukça onlara bakarak, örnekler çözmeye devam etmektir.

Bu yöntemden başka, matematik, istatistik ve programlamada kolay bir mnemonic hatırlatma yolunu ben görmedim, duymadım.

Programı hayal et, algoritmik işlem adımlarını sırala, yazabileceğin en anlaşılır şekilde yazmaya devam et, daha sade halini bulana kadar kaydet, zamanın varsa daha sade halini bul, zamanın yoksa başka algoritma ve programların üzerinde çalış…

Bu hep böyledir…

1 Beğeni

shanyu 2.5 haftadır exeyle ilgili çözemediğim bir konu var
bana yardım edersen minnettar kalırım