简体   繁体   中英

Python program to print prime numbers

I have started learning python and I am stuck in this code

num=int(input("Enter the number"))
for i in range(2, num):
    if num%i==0:
        print("Not a prime number")
        break
        print("Prime Number")

When I enter the number which are not prime, then I am getting output as not a prime number but when I am entering the number that is prime I am getting the output as

Prime number
Prime number
Prime number
Prime number
Prime number

You should only print it once, for example like this:

num = int(input("Enter the number"))
for i in range(2, num):
    if num % i == 0:
        print("Not a prime number")
        break
else:
    print("Prime Number")

The loop should check for all numbers and only then print not prime for example like this.

num=int(input("Enter the number"))
for i in range(2, num):
    if num%i == 0:
        print("Not a prime number")
        break
    if i > num/2:
        print("Prime Number")
        break

I would suggest you debug by including print statements that would help a beginner.

check this out:

num=int(input("Enter the number"))
for i in range(2, num//2):   
    if (num % i) == 0: 
        print(num, "is not a prime number") 
        break
else: 
    print(num, "is a prime number")` 

The last statement should be managed carefully in this code. Due to this it print in loop and take care of the tabs you shift.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM