Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
ÇözüldüPythonKodun çalışması için ne yapılması gerekiyor?
Bir rakam seçtikten sonra 100'e kadar sadece 3'e bölünenleri yazmasını istiyorum fakat başlattığımda +1 ile 102'ye kadar yazdırıyor. Ne yapmam/neyi değiştirmem lazım? (normal şekilde yaptırmayı biliyorum input ile yaptırmaya çalışıyorum. İnput ile gösterirseniz sevinirim.)
Bir rakam seçtikten sonra o rakamdan başlayarak 100'e kadar üçe bölünebilenleri istiyorsun, doğru anlıyorsam?
Python:
number = int(input("Choose a number: "))
while number < 100:
if number % 3 == 0:
print(number)
number += 1
while True: bad practice. Kod okunurluğunu düşürür. Bir şeyi while True ile yapıyorsan, garanti onu yapmanın farklı bir yolu da vardır. Kimsenin sonsuz loop'a ihtiyacı olduğunu sanmıyorum. Mesela break etmek için kullandığın if statement'ı neden while'a statement olarak koymuyorsun benim örnekteki yaptığım gibi?
Bir diğer mevzu;
Python:
if number > 100:
break
Bu blok normalde 101'de çalışacak ilk defa. Ancak senin kodundaki mantık hatası yüzünden 101'de de çalışmayacak çünkü sen eğer sayı üçe tam bölünemiyorsa devam et diyorsun. (101 / 3 = 33.67) Dolayısıyla 102'de çalışacak. 102 tam olarak 3'e bölünebildiğinden ilk blok devreye girmiyor. İlk blok devreye girmediğinden ve 102, 100'den büyük olduğundan, break atıyor. Koşulu en başından while'a koymuş olsaydın, bu hata çıkmazdı mesela.
Daha iyisi var, for loop'u kullanabilirdin;
Python:
number = int(input("Choose a number: "))
for i in range(number, 100):
if i % 3 == 0:
print(i)
Aynı işi yapacak yukarıda verdiğim kodla.
Yeni başlayan biri için while True: kabul edilebilir bir kullanım olabilir ancak diğer konularda mantık kurabiliyor olman lazım dilden ziyade. Burada dille alakalı bir problem değil, mantıksal bir problem var kısaca.
Bir rakam seçtikten sonra o rakamdan başlayarak 100'e kadar üçe bölünebilenleri istiyorsun, doğru anlıyorsam?
Python:
number = int(input("Choose a number: "))
while number < 100:
if number % 3 == 0:
print(number)
number += 1
while True: bad practice. Kod okunurluğunu düşürür. Bir şeyi while True ile yapıyorsan, garanti onu yapmanın farklı bir yolu da vardır. Kimsenin sonsuz loop'a ihtiyacı olduğunu sanmıyorum. Mesela break etmek için kullandığın if statement'ı neden while'a statement olarak koymuyorsun benim örnekteki yaptığım gibi?
Bir diğer mevzu;
Python:
if number > 100:
break
Bu blok normalde 101'de çalışacak ilk defa. Ancak senin kodundaki mantık hatası yüzünden 101'de de çalışmayacak çünkü sen eğer sayı üçe tam bölünemiyorsa devam et diyorsun. (101 / 3 = 33.67) Dolayısıyla 102'de çalışacak. 102 tam olarak 3'e bölünebildiğinden ilk blok devreye girmiyor. İlk blok devreye girmediğinden ve 102, 100'den büyük olduğundan, break atıyor. Koşulu en başından while'a koymuş olsaydın, bu hata çıkmazdı mesela.
Daha iyisi var, for loop'u kullanabilirdin;
Python:
number = int(input("Choose a number: "))
for i in range(number, 100):
if i % 3 == 0:
print(i)
Aynı işi yapacak yukarıda verdiğim kodla.
Yeni başlayan biri için while True: kabul edilebilir bir kullanım olabilir ancak diğer konularda mantık kurabiliyor olman lazım dilden ziyade. Burada dille alakalı bir problem değil, mantıksal bir problem var kısaca.
Bir rakam seçtikten sonra o rakamdan başlayarak 100'e kadar üçe bölünebilenleri istiyorsun, doğru anlıyorsam?
Python:
number = int(input("Choose a number: "))
while number < 100:
if number % 3 == 0:
print(number)
number += 1
while True: bad practice. Kod okunurluğunu düşürür. Bir şeyi while True ile yapıyorsan, garanti onu yapmanın farklı bir yolu da vardır. Kimsenin sonsuz loop'a ihtiyacı olduğunu sanmıyorum. Mesela break etmek için kullandığın if statement'ı neden while'a statement olarak koymuyorsun benim örnekteki yaptığım gibi?
Bir diğer mevzu;
Python:
if number > 100:
break
Bu blok normalde 101'de çalışacak ilk defa. Ancak senin kodundaki mantık hatası yüzünden 101'de de çalışmayacak çünkü sen eğer sayı üçe tam bölünemiyorsa devam et diyorsun. (101 / 3 = 33.67) Dolayısıyla 102'de çalışacak. 102 tam olarak 3'e bölünebildiğinden ilk blok devreye girmiyor. İlk blok devreye girmediğinden ve 102, 100'den büyük olduğundan, break atıyor. Koşulu en başından while'a koymuş olsaydın, bu hata çıkmazdı mesela.
Daha iyisi var, for loop'u kullanabilirdin;
Python:
number = int(input("Choose a number: "))
for i in range(number, 100):
if i % 3 == 0:
print(i)
Aynı işi yapacak yukarıda verdiğim kodla.
Yeni başlayan biri için while True: kabul edilebilir bir kullanım olabilir ancak diğer konularda mantık kurabiliyor olman lazım dilden ziyade. Burada dille alakalı bir problem değil, mantıksal bir problem var kısaca.
Teşekkürlerimi sunarım. Çok açıklayıcı anlatmışsınız. while True ifadesini kullanma sebebim kodlamaya yeni başlamış olmam fakat dediklerinizi dikkate alacağım. Hayırlı forumlar.