Por que esse meu código retorna “None”?
numero=int(input("Digite um número inteiro:"))
divisor=2
primo=True
def pr(numero,divisor,primo):
while divisor<numero and primo:
if numero%divisor==0:
primo=False
divisor=divisor+1
if primo and numero!=1:
return numero
else:
divisor=2
primo=True
numero=numero-1
pr(numero,divisor,primo)
print (pr(numero,divisor,primo))
E esse outro retorna “numero-1” em vez de retornar o valor atual de “numero”, que seria 97, um número primo ?
numero=int(input("Digite um número inteiro:"))
divisor=2
primo=True
def pr(numero,divisor,primo):
while divisor<numero and primo:
if numero%divisor==0:
primo=False
divisor=divisor+1
if primo and numero!=1:
return numero
else:
divisor=2
primo=True
numero=numero-1
pr(numero,divisor,primo)
return numero
print (pr(numero,divisor,primo))
Esse não é o caminho que eu efetivamente estava pensando para resolver o problema, que é,
Um número é informado e ele devolve o maior primo, menor ou igual, ao numero informado, mas eu pensei em fazer dessa forma, e como estou começando agora a programar quero explorar e entender o máximo possível.