Pouvez vous corriger mon programme en Python? [Résolu]

Signaler
Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021
-
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021
-
Bonjour, Pouvez vous corriger mon programme en Python?
Le voici :
import os
os.system("color fc")
prenom = input("quel est ton nom?")
print ("Bonjour",prenom,"!")
import time
time.sleep(2)
import os
os.system("cls")
capitale = input("quel est la capitale de la france?")
if int(capitale = paris) 
    print ("bien joue!")
else:
    print ("non!")
import time
time.sleep(5)



Merci

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

7 réponses

Messages postés
529
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2021
69
Bonjour,

Je ne connais pas du tout le Python mais quand on fait référence à un texte on utilise des apostrophes ou des guillemets, j'écrirais plutôt en ligne 9:
if int(capitale = "Paris") 
Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021

merci mais ça marche toujours pas
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021
7 398
Bonjour,

D'abord sur un source, on n'a besoin de charger les bibliothèques (import ...) une seule fois, et c'est mieux de toutes les charger en début du code.

Tous tes problèmes sont concentrés en une seule ligne la 10.

Effectivement une chaine doit être encadrée
"paris"
, après le
if
est une instruction qui démarre un bloc, avec indentation, elle doit donc se terminer par
:
puis dans Python le test d'égalité c'est
==
,
=
c'est pour l'affectation et enfin
int()
convertit une chaine en un entier, on peut le trouver après un input pour un nombre, mais pas quand la variable contient une chaine de caractères.


Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021

Bonjour, j'ai essayer de le corriger comme vous me l'avait dit mais je n'ai pas réussi.
Pouvez vous m'aider ?

Le voici :



import time
import os
os.system("color fc")
prenom = input("quel est ton nom?")
print ("Bonjour",prenom,"!")
time.sleep(2)
os.system("cls")
capitale = input("quel est la capitale de la france?)
if int(capitale == "Paris:")
print ("bien joue!")
else:
print ("non!")
time.sleep(5)




Merci
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021
7 398
Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Cela permet de bien voir les indentations, indispensables en python.

Alors je vois une chaine non fermée par un guillemet
un : sur le if au mauvais endroit
et tu utilises toujours int() qui n'a pas de sens pour une chaine
Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021

Merci beaucoup
je vais essayé
Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021

A la place du int je pourrais utiliser quoi?
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021
7 398
rien ;-) un input retourne une chaine et tu la compares à une chaine, aucune conversion nécessaire
if capitale == "Paris" : 
Messages postés
25
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
21 février 2021
>
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021

Merci beaucoup ça a marché.
Si on mets paris comme ça marche : paris et : Paris avec une majuscule ca ne marche pas pourquoi.
Savez vous faire pour que si je mets paris avec ou sans majuscule que ça marche?
Merci
Messages postés
31013
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2021
7 398
L'informatique et la programmation sont inflexibles de rigueur. a n'est pas A et il y a autant de différence entre a et A qu'entre a et z.

C'est donc au programmeur d'anticiper le problème. Il pourra par exemple convertir la réponse en minuscule à comparer à une chaine elle même en minuscule comme
if lower(capitale) == "paris" : 


Et attention, le correcteur humain du programme pourrait en rajouter une couche dans la rigueur ;-) Il pourrait diminuer la note pour une orthographe défectueuse.

capitale = input("quel est la capitale de la france?)
non, 2 voire 3 fautes.
capitale = input("Quelle est la capitale de la France ? ")