Pouvez vous corriger mon programme en Python?

Résolu
Multi73 Messages postés 95 Statut Membre -  
jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
     
    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") 
    
    0
  2. Multi73 Messages postés 95 Statut Membre 2
     
    merci mais ça marche toujours pas
    0
  3. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
     
    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.

    0
  4. Multi73 Messages postés 95 Statut Membre 2
     
    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
    0
    1. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Multi73 Messages postés 95 Statut Membre 2
     
    Merci beaucoup
    je vais essayé
    0
  7. Multi73 Messages postés 95 Statut Membre 2
     
    A la place du int je pourrais utiliser quoi?
    0
    1. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
       
      rien ;-) un input retourne une chaine et tu la compares à une chaine, aucune conversion nécessaire
      if capitale == "Paris" : 
      0
      1. Multi73 Messages postés 95 Statut Membre 2 > jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention  
         
        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
        0
  8. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
     
    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 ? ") 
    0