Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2625 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Python - Programmation - Soucis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Python - Programmation - Soucis

n°2158908
diiablange
Posté le 02-10-2012 à 23:51:50  profilanswer
 

Bonsoir,
j'aimerai savoir pourquoi il me met : syntaxerror, invalid syntax la ou il a mon 'else'? et comment le comment corriger?
Et surtout, pourquoi quand je donne les bonnes coordonnées il me met quand même faux?
Merci d'avance.  
 
__________________________________________________________
from random import randrange
 
print("\t\t\t\t=== LE JEU DE LA BATAILLE NAVALE ===\n\n" )
 
########### Début ###############
choixMode = nombreEntre = False
choixRecommencer = True
 
while choixRecommencer == True: ####Si l'utilisateur a choisi oui
    while choixMode < 1 or choixMode > 2: ####Si on a choisi aucun des deux modes
        print("1.- Jouer" )
        print("2.- Sortir\n" )
        print("Votre choix ?" )
        choixMode = input()
        choixMode = int(choixMode)
 
        if choixMode == 1: #####jouer
            x = randrange (1, 11) ####Nombre au hasard des abscisses
            y = randrange (1, 11) ####Nombre au hasard des ordonnees
            print("(",x,";",y ," )\n" ) ### savoir oordonnes du debut
            e = int(x)
            f = int(y)
            a=int(input("entrez l'abscisse" ))
            b=int(input("entrez l'ordonnée" ))
 
            if  a and b!= e and f: ### si différent
                print("Dans l'eau!\n" )
            elif a and b==e and f:  ### si pareil
                print("Coulé!\n" )
            else a = e or a =f or b=e or b=f: ### si un coté commun
                print ("en vue" )
 
 
######### On demande s'il veut rejouer #########
        print("Voulez-vous refaire une partie ? Tapez 0 pour non ou 1 pour oui :" )
        choixRecommencer = input()
        choixRecommencer = bool(int(choixRecommencer))

mood
Publicité
Posté le 02-10-2012 à 23:51:50  profilanswer
 

n°2160887
masklinn
í dag viðrar vel til loftárása
Posté le 21-10-2012 à 17:00:58  profilanswer
 

Citation :

j'aimerai savoir pourquoi il me met : syntaxerror, invalid syntax la ou il a mon 'else'? et comment le comment corriger?


Parce que "else" ne prend pas de condition, si tu veux mettre une condition faut utiliser "elif", "else" c'est pour le cas terminal si aucun test n'a réussi. Accessoirement, les assignation ne sont pas des expressions en Python, donc tu peux pas écrire:

Code :
  1. if a = e:
 

edit: et maintenant que je lis tes expressions booléennes, elles n'ont pas vraiment de sens: "and" et "or" sont des opérateurs booléens, ce qui n'est pas du tout la manière dont tu les utilises.

 

enfin, ton chaînage de tests n'est pas vraiment logique: tu mets d'abord un test pour l'échec, puis un test pour le hit, et enfin un test pour le glance. Il serait plus logique de mettre le hit en premier et le glance en second:

Code :
  1. if a == e and b == f:
  2.    print("Touché" )
  3. elif [condition pour glance]:
  4.    print("En vue" )
  5. else:
  6.    print("Dans l'eau" )


La première condition peut aussi utiliser des tuples:

Code :
  1. if (a, b) == (e, f):
  2.    print("Touché" )


enfin, j'ai beau essayer la condition de glance ne me semble avoir ni queue ni tête, si le bateau est en (3, 7) et que je tire en (7, 3) ça va me dire "en vue" alors que je suis à l'autre bout de la carte:

       
       
       O
       
       
       
       
   X    
       
       


edit 2: pfouuu, il y a plein de trucs qui n'ont pas vraiment de sens où sont du mauvais python, genre si on demande de sortir il demande si on veut refaire une partie, et si on veut refaire une partie ben ça marche pas


Message édité par masklinn le 21-10-2012 à 17:13:41

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Python - Programmation - Soucis

 

Sujets relatifs
(Python) Sous séquence contiguesProgrammation android
python, regex, unicode [résolu]Python numpy ecriture résultat avec itération
Tableau python vers array php ?Programmation caméra ip sur internet
bonjour, problème synthax python sous idleProgrammation R
Programmation d'un programme en Javasoucis sur une procedure sous oracle
Plus de sujets relatifs à : Python - Programmation - Soucis


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR