IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Help pour un grand debutant


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut Help pour un grand debutant
    M'intéressant de prés au raspberry PI et donc au langage python ( sur lequel je suis un grand débutant) je me suis inscrit à des cours python et l on donne des exo.
    Seulement, je n ai aucune solution pour comparer avec ma réponse.
    Dans ce cadre là, je "sèche" lamentablement sur deux exo ( 18 de réussi qd mm )
    je vous soumets le premier pour voir ce que vous pensez de celui-ci :
    le thème :

    Variante de l'exercice "Carré de 'X'", afficher le triangle supérieur droit, comme suit (pour n = 6):
    on introduit une valeur pour déterminer le nombre de x et donc le nombre de ligne.
    ce qui me fait buter c le décalage.

    XXXXXX
    -XXXXX
    --XXXX
    ---XXX
    ----XX
    -----X
    le moins symbolise espace vide, car a l affichage quand je fais des espaces cela ne fonctionne pas

    Carré de x réussi d ailleurs voici le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    a="X"
    n=int(input())
    total = 0
    ligne = 0
    while ligne<=n-1:
    print(a*n)
    ligne = ligne +1
    #n=n-1
    Si quelqu'un pouvais me donner un coup de main, ce serait super

    Le deuxième problème est plus orienté math,et mes souvenirs math sont très très loin :
    Énoncé

    On peut calculer approximativement le sinus de x (voir définition du sinus) en effectuant la sommation des n premiers termes de la série (c'est-à-dire la somme infinie) :
    sin(x)=x−x/33!+x/55!−x/77!+…
    où x est exprimé en radians.
    On vous demande d'écrire un code qui lit une valeur flottante (float) x en entrée et qui imprime une approximation de sin(x).

    Votre code additionne les termes successifs dans la série jusqu'à ce que la valeur d'un terme devienne inférieure (en valeur absolue) à une constante ϵ (prenez ϵ=10−6). Affichez (imprimé) ensuite l'approximation ainsi obtenue.

    Attention : Calculer explicitement la valeur des factorielles peut poser des soucis lorsque vous utilisez les valeurs pour des calculs avec des float. Si c'est le cas, pensez à une autre façon de faire !

    Voila mes soucis, si vous pouviez me donner un brin de code ce serait sympa.

  2. #2
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Pour ton 1er exo je te propose une solution simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def trace(n):
    	for i in range(n):
    		print(" "*i + "x"*(n-i))

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Par rapport à votre code sur la figure carrée, il n'y a pas grand chose à y ajouter, à part le caractère espace...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a = "X"
    b = " "
    n = int(input())
    ligne = 0
    while ligne <= n-1:
        print(b * ligne + a * (n - ligne))
        ligne = ligne + 1
    Mais plusieurs choses, essayez de proposez dans vos codes des noms de variables compatibles avec votre problème
    Mettez des espaces entre opérateur et valeurs
    Utilisez si possible des noms de variable en anglais.

    Le code ci-dessus peut se faire avec une boucle for comme démontré par mon VDD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n = int(input())
    for i in range(n):
        print(' ' * i + 'X' * (n-i))
    et évite trop de variables inutiles.

    En fait votre problème est de comprendre qu'un espace est un caractère comme les autres !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut
    Bonsoir,
    merci a tous pour le premier exercice, effectivement, j avais pas compris l 'espace, maintenant c est fait.
    Je laisse ncore le post pour le deuxième exo.
    Encore merci

Discussions similaires

  1. [Débutant] POO : Besoin d'aide pour grand debutant
    Par sp2308 dans le forum C#
    Réponses: 7
    Dernier message: 06/10/2016, 08h29
  2. [Débutant] tableau de structure pour grand debutant
    Par sp2308 dans le forum C#
    Réponses: 3
    Dernier message: 10/04/2014, 21h15
  3. Help pour ecrire une DTD (debutant)
    Par boutmos dans le forum Valider
    Réponses: 1
    Dernier message: 07/09/2010, 10h28
  4. [TP]Help pour insertion d'un image sur tp7 svp !
    Par ilym dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 21/01/2004, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo