NOMBRES PREMIERS, LISTES, NOMBRES PREMIERS JUMEAUX, CONJECTURE DE GOLDBACH

tobias96 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008 - 15 nov. 2008 à 14:56
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 21 juin 2016 à 23:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48456-nombres-premiers-listes-nombres-premiers-jumeaux-conjecture-de-goldbach

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
21 juin 2016 à 23:25
Euh quelqu'un peut m'expliquer comment votre code fonctionne sans erreur ?
Exemple les doubles ** en Ligne 5 : r=int(a**(0.5))+1

Je ne comprends pas cette ligne et de plus elle lève une exception.
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 juil. 2010 à 17:19
Bonjour

Merci pour tes commentaires, tes remarques sont bonnes.

C'est un code qui a été fait par Marion qui n'a pas de compte sur codes sources et comme il faut rendre à Cesar ce qui est à Ceasar...
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
28 juil. 2010 à 14:41
Bon code ca vaut un 9/10

"if resultat==True on peut mettre if resultat" => Vrai et archi vrai

"mettre un while i<r et apres i=i+1 ce n'est pas très joli" => Au contraire c'est la méthode classique de base = normal voir joli

"faire un break avec sys.exit" => ou faire un break avec un break ça marche aussi et c'est jolie contrairement a ce que les vieux puristes pensent
Preuve : En assembleur (plus bas niveau raisonnable) il est possible de faire un pause dans un programme et de quitter une boucle d'où il n'y a techniquement aucun problème à mettre un break c'est de base dans les micros.

"sys.exit, pas très joli..." => effectivement ça quitte le programme ...

Voila joli, efficace, simple, et non bugé => je suis fan :D

PS : C'est Marion ou Julien je suis perdu ....
____
Aéra
tobias96 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008
18 nov. 2008 à 00:02
oui c'est vrai mais mettre un while i<r et apres i=i+1 ce n'est pas très joli non plus...
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
16 nov. 2008 à 14:12
Le while était justement pour éviter le sys.exit, pas très joli...
tobias96 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008
15 nov. 2008 à 14:56
Code clair et propre, bien commenté qui plus est.

La réutilisation des fonctions sont astucieuses

Juste deux remarques secondaires:
- au lieu de mettre
while 2*i+1 <r+1 and resultat==True : dans la première fonction, il est préférable d'écrire
for i in range(r):
puis une fois que résultat==True
faire un break avec sys.exit
Ce serait bien plus rapide.

- et les condition booleennes peuvent s'écrire d'une manière moins lourde, au lieu de if resultat==True
on peut mettre if resultat:#Tout simplement mais ca, ca ne change rien pour l'execution finale.

Je mets une bonne note, 8/10

Tu as bien codé marion :)
Rejoignez-nous