Не выводит нужное число

При вводе 6 , выводит 3(нужно 7) код странный, я только учусь писать по заданию нужно найти,которая принимает в качестве аргумента натуральное число num и возвращает первое простое число большее числа num.

    # объявление функции
def get_next_prime(num):
    s, s1, s2 = [], [], []
    count = 0
    for i in range(num + 1, num + 10):
        s.append(i)
    for j in range(len(s)):
        if (s[j] % 1 == 0) and (s[j] % s[j] == 0):
            s1.append(s[j])
    for j1 in range(len(s1)):
        for j2 in range(1, j1):
            if j1 % j2 == 0:
                count += 1
        if count == 2:
            s2.append(j1)
    return s2

# считываем данные
n = int(input())

# вызываем функцию
print(get_next_prime(n))

Ответы (1 шт):

Автор решения: n1tr0xs
  1. Создаем функцию проверки числа на простоту (можно использовать что-то проще, можно мудренее):
def is_prime(n):
    if n%2==0:
        return False
    for i in range(3, int(n**.5)+1, 2):
        if n%i==0:
            return False
    return True
  1. Перебираем все числа после n и каждое проверяем, если простое - задача выполнена, иначе - перебираем дальше.
def get_next_prime(n):
    k = n+1
    while True:
        if is_prime(k):
            return k
        k += 1

Или так:

def get_next_prime(n):
    n += 1
    while not is_prime(n):
        n += 1
    return n
  1. Вызываем get_next_prime:
print(get_next_prime(int(input())))
→ Ссылка