bonsoir,
dans ce code j'ai la valeur 4 qui s'affiche je sais pas pourquoi alors que les valeurs suivante de 2 doivent êtres impaires

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
""" auteur: Mrabet Faten
    date : 17 mars 2019
    but du programme : une fonction booléenne (qui renvoie True ou False) premier(n) qui reçoit un nombre entier positif:
    n en paramètre, et qui, renvoie la valeur booléenne True si n est un nombre premier> et False sinon
"""
from math import sqrt
def premier(nombre):
## Fonction qui determine si un nombre est premier ou non.
	nb=True
	if(nombre==0 or nombre ==1):
	    nb=False
	i=2
	while(i<(nombre-1) and i<(nombre/2)):
		if(nombre%i==0):
			nb=False;
		i=i+1
	return nb
 
def list(x):
## Fonction qui list les nombres premiers jusque X.
	i=2;
	while(i<x):
		if(premier(i)):
			print (i)
		i=i+1
 
x=int(input())
list(x)