3 번 이후에 첫 번째 "n"소수를 생성하려고합니다. 문제가 어디에서 잘못되었는지 이해할 수 있으며 누군가 논리를 도울 수 있다면 감사하겠습니다.파이썬 소수 번호 코드
a = 3
b = 2
# n = number of prime numbers to be printed.
n = 1000
for a in range(a, n): #This i the range of all numbers to be tested
if a % 2 == 0: #Only odd numbers are prime(except 2) so eliminate the evens
print "."
else:
for b in range(b, a): #This is to test the odd numbers
if (a % b == 0): #I am dividing a by all numbers smaller than it to test
print a, "is not prime"
break
이 문제를 해결하는 데 도움이되는 모든 안내는 크게 감사하겠습니다. 이 질문에 대한 이전 게시물을 읽었지 만, 특히 내 논리에 결함이있는 곳을보고 싶었습니다.
감사합니다.
이 코드가 실제로 보이는 경우 'else'에는 들여 쓰기가 잘못되었습니다. –
들여 쓰기가 잘못되었습니다! else는'if' 아래에 있어야합니다. – Kasramvd
아래 범위와 인덱서에 동일한 변수를 사용하여'for range (a, n) :'를하지 말 것입니다. 그것은해야 할 일을합니다. 또한 첫 번째'n' 소수를 찾지 않고'n'까지 소수를 찾습니다. – mixedmath