Bonsoir a tous,
Je suis tout nouveau sur le forum, c'est la premiere fois que je publie et vous remercie deja pour toutes les précieuses aides que j'ai pu avoir grace a ce site.
Voila, je démarre en python, et je bloque sur un exercice.
En réalité le code que j'ai mis en place fonctionne, mais a partir du moment ou j'ai un nombre extrêmement élevé de valeurs a prendre en compte ( de l'orde de 10**4 minimum) la console m'affiche un message d'erreur spécifiant que la compilation est terminée due a un trop long temps de compilation.
Voici mon code:
Celui a pour but de créer un tableau dans lequel il y a un nombre de valeurs compris entre 0 et 10^5, et ou chacune des valeur vaut entre 1 et 10**4.
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 import random import math num=[random.randint(1,10**4) for i in range(10**5)] k= random.randrange(10**7) print("le nombre de coupe est de {}".format(k)) print("le tableau de base est {}".format(num)) while k!=0: a=max(num) pos=num.index(a) b=math.ceil(a/2) num[pos]=b k=k-1 print("le nouveau tableau est {}".format(num)) somme=sum(num) print("la somme est de {}".format(somme))
On définit un nombre k qui signifie le nombre de fois ou on va diviser un nombre du tableau par 2.
Ex: num=[4,5,7,9]
k=2
Le 1e chiffre : on prend le chiffre 9 qu'on divise par 2, le résultat obtenue arrondi a l'entier supérieur remplace le chiffre en question
Le 2e Chiffre: on prend le chiffre 7 qu'on divise par 2, le résultat obtenue arrondi a l'entier supérieur remplace le chiffre en question
Les deux coupes ( correspondant a k=2) ont été faites.
On calcul la somme des valeurs du tableau.
Le but de l'exercice est d'obtenir la somme la plus petite
Mon problème est donc que des qu'on passe dans des nombres extrêmement élevé la machine ne me donne plus de résultat.
J'ai entendu parler de list comprehension mais je n'ai pas réussi a en créer.
Si quelqu'un peut me donner un coup de main pour le réaliser ou une idée je suis preneur
Désolé par avance pour le long bloc
Bonne soirée a tous
Partager