Belirtilen aralıktaki asal sayıları bulan bir program yazmaya çalışıyorum.
import numpy as np
start = int(input("İlk sayı:"))
end = int(input("İkinci sayı:"))
a = start
sayilar = np.arange(2,a)
kalanlar = np.remainder(a,sayilar)
while True:
for i in kalanlar:
if i != 0:
print(a)
sayilar = np.append(sayilar,a)
a += 1
continue
elif i == 0:
sayilar = np.append(sayilar,a)
a += 1
continue
if a == end:
break
sayilar arrayi her zaman güncelleniyor ancak kalanlar ilk girdiğim sayıyla kalıyor örneğin:
Sayılar arrayi inputlar 5-17 iken
Dostum ne yapmaya çalıştığınızı pek anlamadım ki orada.
Mesela i hem 0'a eşit olunca hem de eşit olmayınca aynı işlemler yapılıyor. Farklı olarak bir tek i 0’a eşit olmadığı zaman print fonksiyonu devreye giriyor.
Altta, if a == end diye bir durum oluşursa döngüden çıkılsın demişsiniz ama a'nın değeri for döngüsünü tamamladığında 18 oluyor, alttaki if a == end satırı ilk seferde atlanıyor. İkinci seferde de a'nın değeri for döngüsünün içinde 26'ya yükseltiliyor. Dolayısıyla sizin break komutu bu şartlar altında hiç bir zaman çalışmayacaktır.