nombre_a_gauche = input('Taper la première valeur numérique :')
nombre_a_droite = input('Taper la deuxième valeur numérique :')
operation = input('Taper le symbole de l\'opération souhaitée: ')
resultat = 0
'''Création des conditions si nombre gauche et droite sont des entiers '''
if nombre_a_droite.isnumeric() and nombre_a_gauche.isnumeric():
print(' Ce sont bien des nombres entiers ')
# Enfin ce sont des str mais là par contre je les converti en entier
nombre_a_droite = int(nombre_a_droite)
nombre_a_gauche = int(nombre_a_gauche)
else:
nombre_a_droite == str(nombre_a_droite) or nombre_a_gauche == str(nombre_a_gauche)
print('Erreur: les deux nombres doivent être des nombres entiers et non des lettres.')
# Vérification avec la fonction type si c'est un str et bien c'est bien un str
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
print('Attention une opération de conversion en entier est en cours...')
# Imaginons que ce sont des chiffres a virgules, il faut les convertir en entier
# Je converti alors en float les deux valeurs
nombre_a_droite = float(nombre_a_droite)
nombre_a_gauche = float(nombre_a_gauche)
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
# J'ai bien un type de float maintenant je peux convertir en int : test ok
nombre_a_droite = int(nombre_a_droite)
nombre_a_gauche = int(nombre_a_gauche)
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
''' Deuxième partie du TP : vérifier les symbole d'opération doit être '+', '-', '*' ou '/' '''
match operation:
case '+':
resultat = nombre_a_droite + nombre_a_gauche
print(resultat)
case '-':
resultat = nombre_a_droite - nombre_a_gauche
print(resultat)
case '*':
resultat = nombre_a_droite * nombre_a_gauche
print(resultat)
case '/':
if nombre_a_droite == 0 or nombre_a_gauche == 0:
print('Erreur: impossible de diviser par zéro.')
else:
resultat = nombre_a_droite / nombre_a_gauche
print(resultat)
case _:
print("Erreur: le symbole d'opération doit être '+', '-', '*' ou '/'.'")
Bonsoir,
Je viens de réussir l'exercice.
Voici mon code mais je pense l'améliorer mais pour un début suis content.
J'ai du oublier des choses ou peut être que je peux faire plus simple n'hésite pas à me donner vos avis.
Le deuxième code est juste un exemple pas fini.
nombre_a_gauche = input('Taper la première valeur numérique :')
nombre_a_droite = input('Taper la deuxième valeur numérique :')
operation = input('Taper le symbole de l\'opération souhaitée: ')
resultat = 0
'''Création des conditions si nombre gauche et droite sont des entiers '''
if nombre_a_droite.isnumeric() and nombre_a_gauche.isnumeric():
print(' Ce sont bien des nombres entiers ')
elif nombre_a_droite == str(nombre_a_droite) or nombre_a_gauche == str(nombre_a_gauche):
print('Erreur: les deux nombres doivent être des nombres entiers et non des lettres.')
# Vérification avec la fonction type si c'est un str et bien c'est bien un str
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
print('Attention une opération de conversion en entier est en cours...')
# Imaginons que ce sont des chiffres a virgules, il faut les convertir en entier
# Je converti alors en float les deux valeurs
nombre_a_droite = float(nombre_a_droite)
nombre_a_gauche = float(nombre_a_gauche)
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
# J'ai bien un type de float maintenant je peux convertir en int : test ok
nombre_a_droite = int(nombre_a_droite)
nombre_a_gauche = int(nombre_a_gauche)
print(type(nombre_a_droite))
print(type(nombre_a_gauche))
'''Deuxième partie du TP : vérifier le symbole '''
match operation:
case '+':
resultat = nombre_a_droite + nombre_a_gauche
print(resultat)
case _:
print("Vous devez choisir l'addition")
fais un test en rentrant "aa" dans une des valeurs demandées pour voir Le "imaginons que" devrait être un test au cas où l'imagination n'est pas bonne.
nombre_a_gauche = input('Taper la première valeur numérique :')
nombre_a_droite = input('Taper la deuxième valeur numérique :')
resultat = 0
# Test si les deux variables ne sont pas des nombres
if not nombre_a_gauche.isnumeric() or not nombre_a_droite.isnumeric():
print("Erreur: les deux nombres doivent être des nombres entiers")
else:
operation = input('Taper le symbole de l\'opération souhaitée: ')
# On transformes les str en entier
nombre_a_gauche = int(nombre_a_gauche)
nombre_a_droite = int(nombre_a_droite)
print("Nous allons procéder au calcul demandé.")
# Deuxième partie du TP : vérifier les symbole d'opération doit être '+', '-', '*' ou '/'
match operation:
case '+':
resultat = nombre_a_droite + nombre_a_gauche
print('Le résultat est', resultat)
case '-':
resultat = nombre_a_droite - nombre_a_gauche
print(resultat)
case '*':
resultat = nombre_a_droite * nombre_a_gauche
print(resultat)
case '/':
if nombre_a_droite == 0:
print('Erreur: impossible de diviser par zéro.')
else:
resultat = nombre_a_droite / nombre_a_gauche
print(resultat)
case _:
print("Erreur: le symbole d'opération doit être '+', '-', '*' ou '/'.'")
Je bloque sur l'exercice de la partie "Regroupez des tâches en utilisant des fonctions" du cours "apprenez les bases de Python“ (avec les salaires) et je ne trouve pas la correction. Pourriez-vous me dire ou elle se trouve svp ?
Vous devez créer un programme qui calcule le salaire horaire d'un employé, en fonction de son salaire mensuel et de son nombre d'heures travaillées par semaine. Le programme doit utiliser des fonctions pour effectuer les calculs.
Instructions
II- Instructions :
Créez une fonction appelée salaire_mensuel(salaire_annuel) qui prend en paramètre un salaire annuel et retourne le salaire mensuel correspondant en divisant le salaire annuel par 12. (Faites un copier-coller sur le nom de la fonction sinon les tests risquent de ne pas passer)
Créez une fonction appelée salaire_hebdomadaire(salaire_mensuel) qui prend en paramètre un salaire mensuel et retourne le salaire hebdomadaire correspondant en divisant le salaire mensuel par 4. (Faites un copier-coller sur le nom de la fonction sinon les tests risquent de ne pas passer)
Créez une fonction appelée salaire_horaire(salaire_hebdomadaire, heures_travaillees) qui prend en paramètres un salaire hebdomadaire et le nombre d'heures travaillées par semaine, et retourne le salaire horaire correspondant en divisant le salaire hebdomadaire par le nombre d'heures travaillées par semaine. (Faites un copier-coller sur le nom de la fonction sinon les tests risquent de ne pas passer)
Crééz une fonction main pour appeler les fonctions :
Demandez à l'utilisateur de saisir son salaire annuel.
Demandez à l'utilisateur de saisir le nombre d'heures travaillées par semaine.
Appelez les fonctions précédemment créées pour calculer le salaire horaire correspondant.
Affichez le résultat sous la forme : "Votre salaire horaire est de XX euros".
Attention n'appelez pas la fonction main dans le fichier main.py lorsque vous voulez lancer vos tests, pensez à commenter cette ligne pour le lancement des tests !
@B@stoch Bonjour, PierrotLeFou qui vous réponds ici et tente de vous aider est aveugle (voir son profil) sa synthèse vocal ne sais pas lire le texte de l'énoncer dans votre image. Merci de remplacer l'image par du texte.
print(f"Votre salaire horaire est de {salaire_horaire(salaire_hebdomadaire, heures_travaillees)} euros")
La variable salaire_hebdomadaire n'existe pas.
Il faut la remplacer par, soit des appels inclus à partir du salaire annuel, salaire mensuel, salaire hebdomadaire, soit en faisant trois appels avec des noms de variables.
Mais la directive dit de ne pas changer le nom des fonctions. Donc on revient à la première solution:
print(f"Votre salaire horaire est de {salaire_horaire(salaire_hebdomadaire(salaire_mensuel(salaire_annuel)), heures_travaillees)} euros")
On peut donner l'appel d'une fonction comme paramètre à une autre fonction car la valeur qui sera placée à cet endroit est la valeur retournée par la fonction incluse.
Vous êtes peut-être sur un site qui fait de l'auto-validation. Il serait tout de même bon d'installer Python sur votre machine.
On peut tester avec une valeur facile comme 48000 et 40 heures.
Je voulais vous signaler que j'ai fais l'exercice P2C1 sur replit où il était indiqué qu'il fallait quitter le programme si les nombres saisis n'étaient pas des nombres. Or si je fais appel à la fonction exit(), l'exécution s'arrête, mais si ensuite je relance le programme, replit bugge : je suis obligé de fermer la fenêtre. Est-ce un bug qui vous a déjà été rapporté ? Y a t'il une autre fonction qui permet de quitter le programme sans faire bugger replit ? En attendant, j'utilise des conditions pour que l'exécution du code ne fasse rien si une erreur survient.
Je suis novice et j'espère être au bon endroit ou alors je n'ai pas trouvé où aller.
L'exercice du cours "Enregistrez des groupes de données avec les listes" avec la fonction plateformes_sociales = ["Facebook", "Instagram", "Snapchat", "Twitter"] et liste[indice] ne fonctionne pas il me met une erreur.
La voici:
['facebook', 'instagram', 'twitter', 'snapchat']
Traceback (most recent call last):
File "C:\Users\anton\helloworld.py", line 15, in <module>
Le message veut dire qu'il ne connait pas la variable liste (NameError: name 'liste' is not defined.). dans les captures de l'exercice la liste s'appelle plateformes_sociales, mais ça va dépendre de ce que toi tu as utilisé comme nom de liste.
Attention, tu vas avoir le même message d'erreur si tu n'as pas initialiser une variable indice.
Liste[indice] dans le texte montre le principe de récupérer la valeur d'un certain indice dans une liste, donc pour l'illustrer utilise des mots explicites de sens.
A la fin de chaque leçon lors du cours "Apprenez les bases du langage Python" il est proposé un lien menant à des exercices sur "Replit" mais sur replit il n'est disponible seulement le P1C2 et le P2C2. Merci de votre aide.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
be free in your mind