Şu fonksiyonda yardımcı olabilir misiniz?

Şimdi şöyle bir fonksiyon yazmak istiyorum:
cift_sayı(n) şeklinde gireceğim ve ona kadarki sayıları, o da eğer çiftse o da dahil, satır olarak verecek. Mesela
cift_sayı(6)
çıktı: 2 4 6
şeklinde olacak.Yardımcı olabilir misiniz?

def cift_sayılar(n):
    liste = []
    for i in range(n+1):
        if i%2 == 0:
            liste.append(i)
    return liste
    


def foo(n):
	liste = []
	for i in range(n+1):
		if i % 2 == 0:
			liste.append(i)
	return liste


print(foo(100))

Veya

def foo(n):
	for i in range(n+1):
		if i % 2 == 0:
			yield i


print(*foo(100))

İndent (girinti) hatası veriyor. Girintileri tekrar düzenlemeyi denerseniz düzelicektir

Ya sorunu çözdüm, tamam dediğin doğru, ufak bir syntax hatası, çok acemice :smiley: gözlüğümü takmadım. :smiley: ya şey diyeceğim ben bunu nasıl string olarak alabilirim, liste olarak alıyorum sonucu

bir for döngüsü le liste içindeki bütün elemanları çekip bir str haline getireblilirsiniz

örnek verebilir misin, for hep liste çıktısı vermiyor mu?

Aslında örnek vermesi açısından, isterseniz şu kodlara bir göz atın

def foo(n, sıra_num):
	for i in range(n+1):
		if i % sıra_num == 0:
			yield i


print(*foo(100, 10)) # 0 10 20 30..
print(*foo(100, 3)) # 0 3 6 9 ...

for bir çıktı vermez.

generator objesi olarak alıyorum nasıl çıktı olarak alacağım bu yieldli fonksiyonu

def foo(n):
	for i in range(n+1):
		if i % 2 == 0:
			yield i

numbers = list(foo(12))

Olumsuz, sonuç yok. Ayrıca çözümü satır olarak, liste halinde değil string olarak istiyorum, öyle lazım.

print(", ".join(map(lambda x: str(x), foo(12))))
1 Beğeni