def éPrimo(x):
i = 2
Primo = True
while (i < x and Primo):
if (x % i) == 0:
Primo = False
i = i + 1
return(Primo)
def maior_primo(x):
Primo = éPrimo(x)
if (Primo == False):
while (Primo == False):
x = x - 1
éPrimo(x)
return(x)
Tipo, o que eu quero fazer é identificar o maior primo de um número não primo, por exemplo, se eu digitar maior_primo(7), ele me retorna 7, e eu queria que quando eu digitasse maior_primo(10), ele retornasse 7, e tipo, ele faz certinho, ele subtrai por 1 até alcançar o 7, mas por algum motivo ele simplesmente fala que o Primo é falso, sendo que quando eu faço com o 7 direto ele dá certo, mas quando o 7 vem subtraído do 10 ele dá False, queria uma ajuda pfv