Probleme programme crash

Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024 - Modifié le 14 mai 2024 à 11:59
mamiemando Messages postés 33140 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 juin 2024 - 14 mai 2024 à 12:05

Bonjour,

J'ai fais un programme en python qui permet de calculer la moyenne de trois nombres. Mais dès que j'entre le troisième nombre et que j’appuie sur entrée le programme plante. Quelqu'un pour m'aider ?

if __name__ == '__main__':
    # recolter une premiere note
note1 = int(input("Enter the first note"))
    # recolter la deuxieme
note2 = int(input("Enter the second note"))
    # recolter la troisieme
note3 = int(input("Enter the third note"))
    # calculer la moyenne
result = (note1 + note2 + note3) / 3
# show result
print("the result is " + str(result))

Windows / Firefox 125.0

A voir également:

1 réponse

PierrotLeFou
11 mai 2024 à 15:07

Tu es certain que tu peux entrer une note? Moi j'aurais une erreur d'indentation à cause du if du début.

0
Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024
11 mai 2024 à 16:16

Alors qu'est ce qu'il faut que je mette a la place du if ?

0
houso > Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024
Modifié le 11 mai 2024 à 16:43

Salut, ta condition n'est pas à remplacer, comme l'indique PierrotLeFou, ton indentation n'est pas cohérente, en python l'indentation est primordiale !

De plus, qui dit variables de mêmes types, dit container, ici donc une liste, et qui dit action identique dit boucle.

Avant d'enregistrer des valeurs il faut également en contrôler le type.

Tout cela pourrait se résumer en :

if __name__ == '__main__':
    # Collecter les notes
    notes = []
    for num in ('first', 'second', 'third'):
        while True:
            note = input(f'Enter the {num} note: ')
            try:
                note = int(note)
                assert 0 <= note <= 20
            except (ValueError, AssertionError):
                print('Enter value between 0 and 20 !')
                continue
            break
        notes.append(note)
    mean = round(sum(notes) / 3, 2)
    print('Mean is', mean)



 

0
Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024 > houso
11 mai 2024 à 17:08

Yo ! désolé mais je débute en python et je comprends pas trop le language donc je ne comprends pas ce que veux dire l'indentation ni ce que vous volez dire la "De plus, qui dit variables de mêmes types, dit container, ici donc une liste, et qui dit action identique dit boucle." merci
 

0
houso > Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024
11 mai 2024 à 17:29

Si tu débutes, lis ou relis un tuto, l'indentation y est ce qu'on explique avant toute chose, vouloir faire des choses en python sans comprendre l'indentation n'est pas envisageable.


Les containers de bases (list, tuple, dict), les boucles sont aussi abordés dans les tutos de bases.

0
Vanstyx Messages postés 4 Date d'inscription samedi 11 mai 2024 Statut Membre Dernière intervention 11 mai 2024 > houso
11 mai 2024 à 19:01

Ok merci

0