Python - Programmation - Soucis - Python - Programmation
Marsh Posté le 21-10-2012 à 17:00:58
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 :
|
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 :
|
La première condition peut aussi utiliser des tuples:
Code :
|
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:
|
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
Marsh Posté le 02-10-2012 à 23:51:50
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))