CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

python

outiat
outiat
Niveau 6
22 décembre 2018 à 17:07:26

Bonjour,

je me lance tout juste dans la programmation.
Mon objectif est de pouvoir créer des algos de trading.
J'ai pour l'instant beaucoup de mal sachant que j'ai un tout petit niveau en math et que je ne réfléchis pas de la bonne façon pour programmer ^^

Pour un exercice: Écrivez un programme qui affiche une suite de 12 nombres dont chaque terme soit égal au triple du terme précédent.

Après 1 heure de réflexion ^^
J'ai trouvé sa :
a,b = 1,1
while b <= 12 :
print (a)
a,b= a*3, b+1

J'ai bien le résultat voulu mes sa me semble faire beaucoup de lignes pour un petit programme.
J'aimerais savoir de quelle façon j'aurais pu le faire autrement ,sans utiliser de langages que je n'ai pas encore appris sachant que je suis au tout début du livre "apprendre à programmer avec Python 3"

Merci

Message édité le 22 décembre 2018 à 17:08:25 par outiat
Exacompta
Exacompta
Niveau 10
22 décembre 2018 à 17:08:52

Salut, étant donné que tu sais qu'il faut afficher 12 nombres au total il vaut mieux que tu utilises une boucle for.

outiat
outiat
Niveau 6
22 décembre 2018 à 17:11:40

Le 22 décembre 2018 à 17:08:52 Exacompta a écrit :
Salut, étant donné que tu sais qu'il faut afficher 12 nombres au total il vaut mieux que tu utilises une boucle for.

merci pour ta réponse.
Pour moi je n'ai pas encore appris à faire une boucle for ^^

pareil pour : Écrivez un programme qui affiche les 20 premiers termes de la table de multiplication par 7.

a=1
while a<= 20 :
print (a*7)
a = a+1

Message édité le 22 décembre 2018 à 17:16:16 par outiat
outiat
outiat
Niveau 6
22 décembre 2018 à 17:21:36

Et le dernier:

Écrivez un programme qui affiche une table de conversion de sommes d’argent exprimées en euros, en dollars canadiens. La progression des sommes de la table sera « géométrique », comme dans l’exemple ci-dessous :
1 euro(s) = 1.65 dollar(s)
2 euro(s) = 3.30 dollar(s)
4 euro(s) = 6.60 dollar(s)
8 euro(s) = 13.20 dollar(s)
etc. (S’arrêter à 16384 euros.)

a = 1
while a<=16384 :
print (a, "euros=" , a*1.65, "dollards")
a= a*2

godrik
godrik
Niveau 30
22 décembre 2018 à 17:50:59

je me lance tout juste dans la programmation.
Mon objectif est de pouvoir créer des algos de trading.
J'ai pour l'instant beaucoup de mal sachant que j'ai un tout petit niveau en math

Hummm, un conseil. Mets toi serieusement aux maths. Parce que les algo d'info financieres sont BLINDES de maths.

outiat
outiat
Niveau 6
22 décembre 2018 à 18:28:57

Le 22 décembre 2018 à 17:50:59 godrik a écrit :

je me lance tout juste dans la programmation.
Mon objectif est de pouvoir créer des algos de trading.
J'ai pour l'instant beaucoup de mal sachant que j'ai un tout petit niveau en math

Hummm, un conseil. Mets toi serieusement aux maths. Parce que les algo d'info financieres sont BLINDES de maths.

Oui je vais m'y mettre en même temps que mon apprentissage pour coder.

Le même exercice que plus haut avec la table de 7 ou je dois mettre un * sur les multiples de 3.

J'ai sa :
a= 1
while a<=20 :
print (a*7)
if a%3==0 :
print (a,"*")
a= a+1
J'ai un message d'erreur "expected an indented block" que je ne comprend pas.

J'ai voulu faire le même code en ajoutant la condition IF dans le même bloc.
Quand je fais un autre bloc j'ai juste le * qui est à la fin sans prendre en comptes le code de base.

Merci

Message édité le 22 décembre 2018 à 18:30:14 par outiat
outiat
outiat
Niveau 6
22 décembre 2018 à 19:13:10

Après plusieurs test je ne trouve pas la solution.
J'ai essayé avec 8 espaces partout et sa ne change rien, il y a toujours un soucis sur le bloc.
Je ne peu pas combiner while et IF ?

Exacompta
Exacompta
Niveau 10
22 décembre 2018 à 21:31:34

Donne ton énoncé

godrik
godrik
Niveau 30
23 décembre 2018 à 04:37:04

Mets ton code dans un bloc code (c'est supporte par jv.com)

Grimmys
Grimmys
Niveau 19
24 décembre 2018 à 19:38:01

Oui ça aiderait.
Ton code bien indenté devrait donner :

a = 1
while a<=20:
    print (a*7)
    if a%3==0:
        print (a,"*")
    a = a+1

En tout cas, j'ai envie de répéter ce qui a été dit plus haut par Exacompta : pour toutes ces situations, une boucle for serait bien plus appropriée... :(

Peut-être que tu n'as pas encore vu et que ces exercices sont donnés juste après avoir appris comment utiliser une boucle while, mais c'est très con, car aucun de ces exercices ne correspond à l'utilisation d'une boucle while...

[Black_Spirit]
[Black_Spirit]
Niveau 19
24 décembre 2018 à 20:42:35

Je vois pas en quoi ça pose problème d'utiliser while car on est pas en train d'itérer sur une collection.
Utiliser un for c'est pas forcément plus logique ou performant

Angulard
Angulard
Niveau 6
26 décembre 2018 à 16:07:29
print(", ".join([ str((1 * 3**y)) for y in range(12)]))
1, 3, 9, 27, 81, 243, 729, 2187, 6561, 19683, 59049, 177147

:rire2:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment