Pratiquez les bases avec des exercices sur les nombres premiers, les fonctions et les boucles, avec une introduction au threading.
Variables, conditions et boucles: exercices pratiques

La meilleure facon de consolider les notions est de pratiquer. Ces exercices travaillent fonctions, boucles et conditions avec un probleme classique: trouver des nombres premiers dans un intervalle.

Executer le programme

Enregistrez le code dans un fichier premiers.py et lancez-le depuis le terminal avec:

python premiers.py

Fonction pour verifier si un nombre est premier

Un nombre est premier s’il n’est divisible que par 1 et par lui-meme. La fonction parcourt les diviseurs possibles:

def es_primo(num):
    if num == 1:
        return False
    for i in range(2, num):
        if num % i == 0:
            return False
    return True

Boucle pour chercher des nombres premiers dans un intervalle

On utilise une boucle for avec range(inicio, final + 1) pour parcourir tous les nombres:

def busca_numeros_primos(num_inicio, num_final):
    for num in range(num_inicio, num_final + 1):
        if es_primo(num):
            print(num)
            total_numeros_primos += 1

Mesurer le temps d’execution

Le module timeit permet de mesurer le temps que met le programme:

import timeit
inicio_tiempo = timeit.default_timer()
# ... code a mesurer ...
fin_tiempo = timeit.default_timer()
print(fin_tiempo - inicio_tiempo, "secondes")

Version avec threading

Pour accelerer, on peut couper l’intervalle en deux et le traiter en parallele avec threading.Thread:

num_mitad = int(((num_final - num_inicio) / 2) + num_inicio)
hilo = threading.Thread(target=consulta_primos, args=(num_inicio, num_mitad))
hilo.start()
hilo.join()