-4

I want to have the user input a start and end of a list and for the program to find all the prime numbers in it and to print them. Right now my code looks like this:

def rangeStartEndPrime(v1, v2):
 import math 

 check_prime = (v1,v2+1)
 for num in check_prime:
    is_prime = True
    for i in range(2, int(num**0.5) + 1):
        if (num % i) == 0:
            is_prime = False
 return int(is_prime == True)

number1 = int(input("Please enter start value: "))
number2 = int(input("Please enter end value: "))
range = rangeStartEndPrime(number1, number2)

print(range)

Output:

Please enter start value: 4
Please enter end value: 100
1
S.Dileep
  • 13
  • 3

1 Answers1

-2

You should use an outer loop to iterate a number through the a range between the given v1 and v2, determine if the number is a prime if it is not divisible by any of the numbers between 2 and its square root, and add the number to a list:

def rangeStartEndPrime(v1, v2):
    primes = []
    for num in range(v1, v2 + 1):
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                break
        else:
            primes.append(num)
    return primes

so that rangeStartEndPrime(5, 11) returns:

[5, 7, 11]
blhsing
  • 91,368
  • 6
  • 71
  • 106