2
respostas

Exercicio 7 - Numero Primo

Na formula "for contador in range(2,x+1,1)" precisei incluir "x+1 ao inves de x para funcionar. Poderia explicar o motivo, por favor?


contador = 2 resto = 0

x = int(input("Qual a numero: "))

if x > 1: for contador in range(2,x+1,1): resto = int(x%contador) print(resto) if resto == 0: break

else: print("Numero abaixo de 1")

print(contador) print(x)

if contador == x: print("Numero primo") else: print("Numero nao eh primo")

2 respostas
for contador in range(2, x+1, 1):

A função range(start, stop, step) cria uma sequência de números que começa em start, vai até (mas não incluindo) stop, com um incremento definido por step. No seu caso:

  • start é 2,
  • stop é x + 1,
  • step é 1.

O motivo pelo qual você precisa usar x + 1 em vez de x é garantir que o valor x esteja incluído no intervalo. A função range cria uma sequência que inclui o valor inicial (start) e exclui o valor final (stop). Portanto, se você quer incluir x na sequência, você precisa definir stop como x + 1.

Por exemplo, se o usuário inserir x = 5, a gama seria range(2, 6, 1), incluindo os valores de 2, 3, 4 e 5. Se você usasse x em vez de x + 1, a sequência seria range(2, 5, 1), excluindo o valor 5.

Essa é a razão pela qual você precisa usar x + 1 para garantir que o último valor (x) seja incluído no intervalo.

Caso tenha conseguido esclarecer suas dúvidas, fico feliz em ter ajudado. Estou à disposição para qualquer outra questão que possa surgir. Um abraço! Se este post foi útil, por favor, marque como solucionado ✓. Desejo a você excelentes estudos!