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 :

Aide debutant python


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 5
    Par défaut Aide debutant python
    Bonjour,

    Alors voilà je devais faire un programme pour cet exercice. Cependant je ne comprend pas pourquoi j'ai une "invalid syntax " à la ligne 31. Si certains peuvent m'expliquer ou est ce que mon code est faux et voire apporter des améliorations ca serait vraiment cool.
    Merci d'avance

    les fichiers: Nom : Capture d’écran 2020-06-06 à 19.37.17.png
Affichages : 1043
Taille : 72,3 KoNom : Capture d’écran 2020-06-06 à 19.35.56.png
Affichages : 2615
Taille : 63,5 Ko

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Vous avez oublié une parenthèse fermante à la ligne 30.

    Pour le reste, découvrir les erreurs et essayer de les corriger fait partie de l'intérêt de l'exercice: pourquoi vous gâcher ce plaisir d'apprendre?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 5
    Par défaut
    Nom : Capture d’écran 2020-06-06 à 19.54.59.png
Affichages : 1407
Taille : 59,7 Ko finalement j'obtient ca mais je ne sais pas pourquoi le programme ne run pas sur spyder 3


    UP si quelqu'un sait pourquoi perso les seules errurs afichiées c'est

    File "<string>", line 25, in <module>
    File "<string>", line 6, in somme
    TypeError: unsupported operand type(s) for +: 'int' and 'str'

    mais je ne sais pas pourquoi
    >>>

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 5
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Vous avez oublié une parenthèse fermante à la ligne 30.

    Pour le reste, découvrir les erreurs et essayer de les corriger fait partie de l'intérêt de l'exercice: pourquoi vous gâcher ce plaisir d'apprendre?

    - W
    merci ! ca bloquait tout

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Je me suis amusé à résoudre l'exercice. Vous aurez donc la possibilité de contrôler les résultats donné par votre code (qui doit utiliser l'algorithme demandé).

    Code Python : 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
    17
    18
    19
    20
    21
    22
    23
    24
    def test_x(x: int = 2019) -> tuple:
        list_x = [int(n) for n in reversed(str(x))]
        list_r = []
     
        for i, n in enumerate(list_x):
            if i % 2 == 0:
                if n >= 5:
                    list_r.append(sum([int(m) for m in str(n*2)]))
                else:
                    list_r.append(n*2)
            else:
                list_r.append(n)
     
        somme = sum(list_r)
     
        if somme % 10 == 0:
            return (True, x)
        else:
            return (False, x)
     
    for x in range(5, 515, 1):
        t = test_x(x)
        if t[0]:
            print(t)

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Avec Python, on pourrait écrire cela ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def f(n):
        s = 0
        for i, ch in enumerate(str(n)[::-1]):
            j = int(ch)
            if not i % 2:
                j = j * 2
                if j >= 9:
                   j = j // 10 + j % 10
            s += j
        return False if s % 10 else True
    Ce qui avec le code de Daniel montre qu'il y a plein de constructions possibles... Et comme il s'agit d'un exercice, se dépatouiller avec le Python qu'on connaît n'est pas si mal.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par spaceFrance Voir le message
    si quelqu'un sait pourquoi perso les seules errurs afichiées c'est

    File "<string>", line 25, in <module>
    File "<string>", line 6, in somme
    TypeError: unsupported operand type(s) for +: 'int' and 'str'
    Oui, tous ici nous le savons. Surtout quand on te voit écrire x=somme(str(x)) en ligne 33 ça devient même évident. Et quant à ton x=str(x) inutile en ligne 32... je n'arrive même pas à concevoir qu'on puisse écrire deux instructions x=qqchose l'une au dessous de l'autre (donc bien visible quoi) sans que ça nous fasse "tilt" dans la tête...

    Citation Envoyé par spaceFrance Voir le message
    mais je ne sais pas pourquoi
    Peut-être écrire print(i, type(i)) en ligne 5 t'aiderait à le savoir...

    Et puis bon, si tu veux vraiment qu'on t'aide alors fais au-moins l'effort de copier ton code dans le forum qu'on puisse le récupérer. Tu ne t'attends tout de même pas à ce qu'on retape tout ce paté... si ???

    Bon, puisque tout le monde semble disposé à donner sa version...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def luhn(n):
    	change=lambda n: str(sum(map(int, str(int(n) * 2))))
     
    	s=str(n)
    	l=tuple(change(s[-i]) if i % 2 else s[-i] for i in range(1, len(s) + 1))
    	return (n, int("".join(reversed(l))), sum(map(int, l)))
    # luhn()
     
    print(luhn(1234567))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2020
    Messages : 5
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Oui, tous ici nous le savons. Surtout quand on te voit écrire x=somme(str(x)) en ligne 33 ça devient même évident. Et quant à ton x=str(x) inutile en ligne 32... je n'arrive même pas à concevoir qu'on puisse écrire deux instructions x=qqchose l'une au dessous de l'autre (donc bien visible quoi) sans que ça nous fasse "tilt" dans la tête...


    Peut-être écrire print(i, type(i)) en ligne 5 t'aiderait à le savoir...

    Et puis bon, si tu veux vraiment qu'on t'aide alors fais au-moins l'effort de copier ton code dans le forum qu'on puisse le récupérer. Tu ne t'attends tout de même pas à ce qu'on retape tout ce paté... si ???
    merci ! je le ferais la prochaine fois ; )

Discussions similaires

  1. [AIDE]Debutant en Javascript ;)
    Par masta64 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/03/2008, 14h02
  2. demande d'aide debutant java
    Par kamal620 dans le forum Langage
    Réponses: 3
    Dernier message: 12/11/2007, 12h20
  3. [Formulaire] Besoin d'aide (debutant)
    Par Domingo60 dans le forum IHM
    Réponses: 2
    Dernier message: 05/04/2007, 14h01
  4. Aide debutant pour connexion aux DB
    Par eclesia dans le forum Contribuez
    Réponses: 5
    Dernier message: 26/01/2007, 19h30

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