@Tobal86 et @vince277 : Vous n'avez rien à envoyer pour l'instant, les exercices sont à faire pour soi, pour apprendre. Seuls les Quizz sont à faire sur le site.
@Anouck : pas moyen d'avoir des sujets différents sur ce forum plutôt qu'un sujet qui traite de tout ? Merci
@Tobal86 : Ta variable st est une variable local de ta fonction remplacer, c'est à dire que sa porté ne dépasse pas cette fonction, en dehors de ta fonction elle n'existe plus. Utilise comme te le suggère Derzal, un return à la fin de ta fonction pour récupérer les changements.
@Derzal : C'est le TP de la semaine : "le jeu du pendu", mais qui n'est pas à rendre, juste à faire pour s’entraîner.
je termine ma fonction remplacer par return deb+lettre+fin et dans ma boucle While je capture les modifications d'itération en itération avec mot_mystere=remplacer(mot_mystere, lettre_choisie, rang). Et là ça marche !
serait intéressant de comparer les solutions trouvées par les élèves sur ce TP du jeu du pendu...
Je viens de finir la première partie du cours avec un résultat au Quiz de 15/20
Est-ce que ce résultat me sert à quelque chose si je ne suis pas Premium ?
À la fin du cours on doit réaliser un programme Casino, je l'ai fait, modifié, mais j'ai toujours deux problèmes
1. Je n'arrive pas à mettre les accents alors que j'ai bien marqué l'encodage utf-8...
2. Je n'arrive pas à relancer le programme...
Merci de votre aide
PS : Oui, mes noms de variables sont ridicules haha
PS 2 : J'aurai aimé mettre mon code en couleur mais je ne sais pas comment faire (ça ne va pas être très agréable pour vos yeux... (EDIT : Ah ben ça se met tout seul )
#!/usr/bin/pythonw
# -*-coding:utf-8 -*\
import os
from random import randrange
from math import ceil
continuer_partie = True
print ("Vous arrivez au casino, attention a vos sous :p")
while continuer_partie :
argent_choisi = 0
while argent_choisi < 100 or argent_choisi > 1000 :
argent_choisi = input ("Choisissez l'argent que vous voulez entre 100 et 1000 : ")
try :
argent_choisi = int(argent_choisi)
except ValueError :
print ("Vous n'avez pas saisi de nombre")
mise = -1
continue
if argent_choisi < 100 :
print ("C'est inférieur à 100")
if argent_choisi > 1000 :
print ("C'est bien trop !")
else :
print ("Vous avez", argent_choisi,"$")
nombre_choisi = -1
while nombre_choisi < 0 or nombre_choisi > 49 :
nombre_choisi = input("Choississez un nombre entre 0 et 49 : ")
try :
nombre_choisi = int(nombre_choisi)
except ValueError :
print ("Vous n'avez pas choisi de nombre")
nombre_choisi = -1
continue
if nombre_choisi < 0 :
print ("Ce nombre est négatif")
if nombre_choisi > 49 :
print ("Ce nombre est supérieur à 49")
else :
print ("Vous avez choisi le nombre ",nombre_choisi)
mise_choisi = 0
while mise_choisi <= 10 or mise_choisi > argent_choisi :
mise_choisi = input ("Choisissez une mise entre 10 et votre maximum : ")
try :
mise_choisi = int(mise_choisi)
except ValueError :
print ("Vous n'avez pas saisi de nombre")
mise_choisi = -1
continue
if mise_choisi <= 100 :
print ("La mise n'est pas assez élevée")
if mise_choisi > argent_choisi :
print ("Vous ne pouvez pas miser autant, vous avez seulement ", argent_choisi)
else :
print ("Vous avez choisi de miser : ", mise_choisi, "$")
nombre_croupier = randrange (50)
print ("La bille s'est arretee sur : ", nombre_croupier)
if nombre_croupier == nombre_choisi :
print ("Vous gagnez trois fois votre mise : 3 *", mise_choisi, "=", 3* mise_choisi)
argent_choisi += mise_choisi *3
elif nombre_croupier % 2 == nombre_choisi % 2 :
mise_choisi = ceil(mise_choisi * 0.5)
print ("Vous remportez 50% de votre mise : ", mise_choisi/2)
argent_choisi += mise_choisi
else :
print ("Vous avez perdu")
argent_choisi -= mise_choisi
if argent_choisi <= 0:
print("Vous etes ruine ! C'est fini :(")
continuer_partie = False
else:
print("Vous avez a present", argent_choisi, "$")
quitter = input ("Souhaitez-vous quitter ? (o/n)")
if quitter == "o" or quitter == "O" :
print("Vous quittez le casino avec vos gains")
continuer_partie = False
- Edité par Tooty 26 octobre 2014 à 16:53:49
99% des problèmes informatiques se trouvent entre la chaise et l'écran
Il me semble que la ligne à mettre est: # -*- coding: utf-8 -*-
Sinon pour ton code: Toute ta première partie (argent_choisi) alourdit inutilement ton code. De plus comme tu l'a placée dans la boucle principale, à chaque tour l'utilisateur pourra rechoisir sa somme de départ. Autant directement donner toi-même une somme initiale. Autre chose, tu demande de miser entre 10 et le mas, mais ensuite tu vérifie que la mise doit être supérieure à 100. Autant directement le mentionner lors de la mise.
Il me semble que la ligne à mettre est: # -*- coding: utf-8 -*-
Sinon pour ton code: Toute ta première partie (argent_choisi) alourdit inutilement ton code. De plus comme tu l'a placée dans la boucle principale, à chaque tour l'utilisateur pourra rechoisir sa somme de départ. Autant directement donner toi-même une somme initiale. Autre chose, tu demande de miser entre 10 et le mas, mais ensuite tu vérifie que la mise doit être supérieure à 100. Autant directement le mentionner lors de la mise.
Salut
Merci pour ta réponse complète
J'ai remarqué l'erreur de la mise que j'ai modifié après avoir posté le message En ce qui concerne la première partie, je ne pensais pas que ça ne servait à rien
Et en ce qui concerne la boucle pour relancer le jeu ?
99% des problèmes informatiques se trouvent entre la chaise et l'écran
Traceback (most recent call last):
File "/Users//Documents/Projet Python/ZCasino/ProgrammeCasino.py", line 83, in <module>
quitter = input ("Souhaitez-vous quitter ? (o/n)")
File "<string>", line 1, in <module>
NameError: name 'N' is not defined
MacBook-Pro-de-***:ZCasino ****$
La première partie c'était surtout pour m'exercer
99% des problèmes informatiques se trouvent entre la chaise et l'écran
Ok, c'est normal. En python2 le input() est à typage dynamique. Autrement dit, quand tu entre N, il l'interprète comme une variable. Pour contourner ce problème, soit tu utilise la méthode raw_input() qui convertit tout ce qu'entre l'utilisateur en chaîne de caractères, soit tu convertit explicitement la sortie de ton input():
#Conversion explicite en chaîne de caractères
quitter = str(input("Souhaitez-vous quitter ? (o/n)"))
#Ou utilisation de raw_input()
quitter = raw_input("Souhaitez-vous quitter ? (o/n)")
J'ai un "petit" problème sur la validation de la partie 3
Pour faire simple: je ne vois même pas comment faire déplacer mon robot dans ma carte. Je me doute bien qu'il sera question de modifier le fichier texte à l'origine de la carte, mais je ne vois pas comment récupérer les coordonnées des différents éléments.
Je coince totalement sur cette partie. Donc si quelqu'un a une petite idée de par où commencer, je suis preneur.
(j'espère que le message n'est pas trop confus :/)
Ok, c'est normal. En python2 le input() est à typage dynamique. Autrement dit, quand tu entre N, il l'interprète comme une variable. Pour contourner ce problème, soit tu utilise la méthode raw_input() qui convertit tout ce qu'entre l'utilisateur en chaîne de caractères, soit tu convertit explicitement la sortie de ton input():
#Conversion explicite en chaîne de caractères
quitter = str(input("Souhaitez-vous quitter ? (o/n)"))
#Ou utilisation de raw_input()
quitter = raw_input("Souhaitez-vous quitter ? (o/n)")
Merci de m'avoir aidé jusqu'au bout, je prend note de tout ce que tu m'as dit
99% des problèmes informatiques se trouvent entre la chaise et l'écran
Je suis débutant, et bien sûr j'ai un soucis au début du tuto! dans l'intro, au chapitre 4, au moment où sont exposées les limites de la fonction if, quand j'essaye de reproduire les lignes de code : 1) >>> a = 5 2) >>> if a > 0: # Si a est positif 3) ... print("a est positif.") 4) ... if a < 0: # a est négatif 5) ... print("a est négatif.")
Je n'arrive pas à rentrer la 5ème ligne, quand j'appuie sur entrée à la fin de la 4ème ligne pour donner la dernière instruction, Paf l'interpréteur m'affiche direct un message d'erreur : File "<stdin>", line 3 if a<0: ^ SyntaxError: invalid syntax
Je vous avoue que je suis bien embêté, car j'ai scrupuleusement respecté les lignes de code. Je ne sais pas pourquoi ce message s'affiche, sachant que dans l'exemple ça a l'air de fonctionner.
De même que quand je rentre sur une ligne vide # suivi d'une remarque, lorsque j'appuie sur entrée au lieux d'avoir sur la nouvelle ligne >>> comme sur le tuto, python m'affiche ... ce qui n'a pas l'air de changer grand chose.
Je précise que j'ai téléchargé la dernière version de Python 3.4.2
Serait-il possible d'avoir une réponse, peu importe laquelle? Je viens de constater avec déplaisir que j'ai été désinscrit du cours, et que durant ce temps, je n'ai pas vu l'ombre d'un seul message,...
Je ne sais pas exactement ce qu'il s'est passé, mais, à ma connaissance, il n'y a que vous qui puissiez vous désinscrire du cours... Pouvez-vous envoyer un mail à contact@openclassrooms.com en donnant quelques détails, s'il vous plaît ?
Il me semble que le corrigé de l'exercice "Partie 4 : Améliorer notre labyrinthe" n'est pas le bon ou je n'arrive pas à le télécharger, j'ai tout le temps celui de "creer un labyrinthe". Du coup j'ai du mal à corriger les exercices que je dois apprécier pour avoir ma note. N'ayant pas réussi moi même l'exercice, je ne vois pas comment travailler efficacement et être juste sans ce corrigé.
Bonjour, c'est au sujet de mon TPE. On a un petit problème, on ne trouve pas comment faire une analyse des fréquences (compter le nombre de A,B,C... dans un texte) avec la boucle "for", on sais le faire avec la fonction "count()" mais c'est plus long..
On a chercher pendant pas mal de temps, sans succès, alors je vous demande un peut d'aide, merci !
Salut Robin !
Merci de recréer un post pour y mettre ta question
Louche et en chaleur qu'y disait - Tout le monde doit le savoir, l'avatar de Lorrio est une marmotte !! Partagez l'information