Je rencontre un souci pour enregistrer un code dans un fichier executable. J'ai beau suivre à la lettre le procédé, rien ne fonctionne et lorsque je double clic sur le fichier.py l'interpreteur s'ouvre et se ferme instantanément avec écrit "Can't find a default Python".
J'ai bien enregistré avec l'extension .py, j'ai bien importé le module os et la fonction system, et mon code ne contient pas d'accent (j'ai quand même fait le test avec accent+encodage, ça ne fonctionne pas non plus).
Voilou, ça me bloque un peu et j'éspère vite trouver la solution pour continuer le cours.
Pour infos : Je suis sous Python 3.4.2, Windows 8, j'ai testé avec NotePad++ et Bloc-notes...
Je crois qu'il faudrait voir du coté du chemin qui mêne à Python dans la variable système PATH.
Pour moi, sur win7, je vais dans propriétés de ordinateur (clic droit sur menu ordinateur), puis dans "paramètres système avancés" et enfin clic sur le bouton "variables d'environnement", selection PATH et "modifier". J'ai mis au bout un ;c:\python34 là où se trouve l'exécutable de python et tout est ok. Attention à ne pas toucher au reste !!.
Faire l'opération dans "variables utilisateur" et dans "variables système"
je viens de m'inscrire au cours de Python que j’étudie en classes prepa ms j'ai eu du mal a sauter la ligne dans une chaîne de caractères. ni <\n> ni """puis sauter la ligne et remplacer >>> par ... , pour celle-ci a chaque fois que j'appuie sur Entrer pour sauter la ligne sa donne Syntax Error..
j'ai copié le code du cours dans des fichiers.py que j'ai lancé individuellement. j'ai bien une connection mais dès que je tape quelque chose coté client j'ai un message d'erreurs des deux cotés.
j'ai un NameError: name 'coucou' is not defined
et j'ai un socket.error Errno 54 connection reset by peer
je cherche à progresser sur ce sujet pour faire le TP
Je debute en Python. Je chercher a faire un programme qui vas demander a l'utilisateur combien de liste veut-il. Et de les remplir et de les traiter par la suite. Un exemple concret. Pour un buletin
while restart1 ==0 : eleve = input("entrez le prenom de votre eleve") Liste_eleve.append(eleve) restart1 = int(input("Existe-il d'autre eleves (0=Oui, 1=Non)"))
else : matiere = int(input("Combien de matière")) #création de liste suivant le nombre de matière
ou un autre else :
else : restart2 = 0 while restart2==0: matiere = input("entrez le nom de la matiere ") Liste_matiere.append(matiere) coeff = ("entrez le coefficient") Liste_coeff.append(coeff) restart2 = int(input("Existe-il d'autre matiere (0=Oui, 1=Non)"))
Et afficher le "prenom", la "matiere" demander la note et mettre chacun dans une liste pour calculer la moyenne de l'eleve, de la classe
je viens de m'inscrire au cours de Python que j’étudie en classes prepa ms j'ai eu du mal a sauter la ligne dans une chaîne de caractères. ni <\n> ni """puis sauter la ligne et remplacer >>> par ... , pour celle-ci a chaque fois que j'appuie sur Entrer pour sauter la ligne sa donne Syntax Error..
Merci d'avance
Salut Hamzalebbar
Pour sauter des lignes tu peux faire de cette manière avec """...""" :
>>> print ("""Tu peux
sauter plusieurs lignes
comme ça """)
Tu peux
sauter plusieurs lignes
comme ça
>>>
99% des problèmes informatiques se trouvent entre la chaise et l'écran
Problème toujours pas résolu, je n'avance donc plus dans le cours depuis quelques jours. Décourageant...
Clement2m a écrit:
Bonsoir la communautée !
Je rencontre un souci pour enregistrer un code dans un fichier executable. J'ai beau suivre à la lettre le procédé, rien ne fonctionne et lorsque je double clic sur le fichier.py l'interpreteur s'ouvre et se ferme instantanément avec écrit "Can't find a default Python".
J'ai bien enregistré avec l'extension .py, j'ai bien importé le module os et la fonction system, et mon code ne contient pas d'accent (j'ai quand même fait le test avec accent+encodage, ça ne fonctionne pas non plus).
Voilou, ça me bloque un peu et j'éspère vite trouver la solution pour continuer le cours.
Pour infos : Je suis sous Python 3.4.2, Windows 8, j'ai testé avec NotePad++ et Bloc-notes...
"There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor."
Tu as déplacé le dossier de Python à un moment donné ? Si c'est le cas, supprime le dossier à l'arrache et réinstalle exactement la même version de Python, ça devrait mettre à jour les clés de registre et le launcher py.exe.
Toujours aucune réponse depuis le 28 octobre. Je n'ai donc toujours pas avancé d'une ligne depuis cette date, ne voyant toujours pas comment l'exercice est réalisable,...
Serait-il possible d'avoir un semblant de réponse?
"""module multipli2 contenant la fonction table"""
def table(nb, max=10): """Fonction affichant la table de multiplication par nb de 1 * nb jusqu'au max * nb""" i = 0 while i < max: print(i + 1, "*", nb, "=", (i + 1) * nb) i += 1
Test 1 : ok
# more testpack.py #!/usr/bin/python3.2 # -*-coding:utf-8 -*
J'en suis juste à la partie 1, au moment du petit programme pour tester les années bissextiles. Je suis en version 3.4.2 (je me doute que ça pose problème) mais je voudrais savoir si le problème suivant vient de là parce que ça m'étonne : impossible de convertir une str en int, j'ai recopié exactement le début du corrigé et j'ai un message d'erreur :
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> annee = input("Saisissez une année :") Saisissez une année : >>> annee = int(annee) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> annee = int(annee) ValueError: invalid literal for int() with base 10: '' >>>
J'ai aussi essayé de faire directement annee = int(input("Saisissez une année :")) et ça ne marche pas non plus.
En mode interactif, il faut saisir une annee; c'est différent du mode script ou tu enchaines les actions / traitements.
>>> annee = input("Saisissez une année :") Saisissez une année : 1925(par exemple)
après le >>> annee = int(annee)
fonctionnera
Cdt
Rlc35
EmmanuelleChardon a écrit:
Bonjour,
J'en suis juste à la partie 1, au moment du petit programme pour tester les années bissextiles. Je suis en version 3.4.2 (je me doute que ça pose problème) mais je voudrais savoir si le problème suivant vient de là parce que ça m'étonne : impossible de convertir une str en int, j'ai recopié exactement le début du corrigé et j'ai un message d'erreur :
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> annee = input("Saisissez une année :") Saisissez une année : >>> annee = int(annee) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> annee = int(annee) ValueError: invalid literal for int() with base 10: '' >>>
J'ai aussi essayé de faire directement annee = int(input("Saisissez une année :")) et ça ne marche pas non plus.
Bonjour ! Je suis nouveau sur le forum, débutant en python et j'aimerai qu'on m'explique comment fonctionne le module checkbutton dans tkinter. Merci !
je fais une erreur quelque part mais pas moyen de trouver, j'y suis depuis ce matin. Ça concerne l'exercice du ZCasino. Voici mon code :
import random, math
cashStash = 100
def is_it_even(nb) : # vérifie si un nombre est pair (divisible par 2)
if nb%2 == 0 :
return 1
else :
return 0
print("On va jouer à la roulette. Tu démarres avec 100 flouzes, et si tu atteins les 1000, tu gagnes. Mais si tu tombes à zéro...")
while cashStash > 0 and cashStash < 1000 : # tant que notre pactole est compris entre 0 et 1000, on joue
print("Tu as", cashStash, "flouzes dans ta tirelire.")
betNb = input("Parie sur un numéro entre un et cinquante.")
betNb = int(betNb)
while betNb < 1 or betNb > 50 :
betNb = input("Entre un et cinquante s'il te plaît... j'ai pas toute la journée...")
int(betNb)
betNbEven = is_it_even(betNb)
betCash = input("Combien tu paries ?")
betCash = int(betCash)
while betCash > cashStash :
print("T'as que", cashStash, "dans ta tirelire. Allez, combien tu paries ?")
betCash = input()
betCash = int(betCash)
randNb = random.randrange(1, 50)
randNbEven = is_it_even(randNb)
betNbEven = is_it_even(betNb)
if randNb == betNb :
# alors c'est le jackpot, on update cashStash
cashStash =+ betCash*2
print("Petit veinard, tu es tombé sur le", randNb, "! Tu remportes trois fois la mise ! Tu te retrouves avec", cashStash, "flouzes dans ta tirelire.")
elif randNb == betNb :
# alors on gagne 50% de la mise, à arrondir avec math.ceil
betCashHalf = math.ceil(betCash/2)
cashStash =+ betCashHalf
if randNbEven == betNbEven :
print("Tu es tombé sur le", randNb, ":", betNb, "et", randNb, "sont tous deux impairs, alors tu remportes 50% de ta mise. Tu te retrouves avec", cashStash, "flouzes dans ta tirelire.")
else :
print("Tu es tombé sur le", randNb, ":", betNb, "et", randNb, "sont tous deux pairs, alors tu remportes 50% de ta mise. Tu te retrouves avec", cashStash, "flouzes dans ta tirelire.")
else :
cashStash =- betCash
print("Tu es tombé sur le", randNb, ". Désolé, tu perds la mise et tu te retrouves avec", cashStash, "flouzes dans ta tirelire.")
# on perd la mise et retour à la case départ
if cashStash >= 1000 :
print("Ton pactole est de", cashStash, "flouzes ! C'est la victoire !")
else :
print("Tu as perdu tout ton flouze. Tu peux aller te faire remplumer.")
Le problème c'est que la variable cashStash (initialisée à 100) qui correspond au pactole du joueur semble passer à zéro quelque part dans le code. Du coup, même quand on gagne 10 pesetas, cashStash = 10 au lieu de 100. Quelqu'un saurait-il m'aider à repérer l'erreur ?
J'ai un peu de mal avec l'énoncé de l'exercice du labyrinthe (version 1.0). En fait j'ai du mal à comprendre à quel moment on va devoir utiliser la classe "Labyrinthe" pour créer de nouveaux labyrinthes (de manière aléatoire je suppose).
Pour créer des labyrinthes j'ai tout simplement utlisé un petit éditeur (gedit) et sauvé les labyrinthes au format .txt.
Ma classe "labyrinthe" comporte les méthodes de mise a jour , affichage et enregistrement. On l'instancie avec un paramètre contenant un fichier .txt précédemment chargé ainsi on a fabriqué un objet labyrinthe.
Ma classe "robot" comporte les méthodes (propriétés) de mise a jour de l'ancienne position et de la position actuelle et des méthodes pour détecter les possibilités de déplacement dans les quatre directions.
Ces deux classes sont dans un fichier classes.py.
Le fichier jeu.py va piloter le jeu en demandant un déplacement au joueur, valider celui-ci, ceci jusqu'à la sortie et le gain de la partie ou jusqu'à une sortie prématurée 'Q'.
Créer un labyrinthe automatiquement avec une fonction qui placera aléatoirement les murs intérieurs et les portes tout en créant une possibilité de sortie me semble bien difficile ....(je ne sais pas faire).
Pour tout le monde :
Je suis en train de travailler sur la partie 4: améliorer le jeu du labyrinthe.
Je fais des petites choses en définissant un serveur et des clientsmais tout cela sur une seule machine sous Linux.
Je dispose par ailleurs d'une livebox et de plusieurs ordinateurs (sous Linux) reliés à cette livebox par wifi ou cable .
Puis-je faire communiquer entre eux mes ordinateurs pour jouer?
Où puis-je trouver de la doc (Linux) pour réaliser un réseau local avec la LiveBox et faire communiquer entre elles mes machines ?
Tout d'abord j'ai trouvé comment connecter mes ordinateurs entre eux dans le réseau local de la LiveBox. Il suffit, en tant d'administrateur de la LiveBox (adresse. 192.168.1.1, admin etc...) de déclarer les ordinateurs que la livebox repère avec une adresse fixe. (J'ai simplement repris l'adresse que le DHCP leur avait donné ainsi que le nom sous lequel ces ordinateurs apparaissent dans cette liste).
Mais je n'arrive pas à obtenir un échange de plusieurs messages successifs de plusieurs clients.
Si vous travaillez sur la partie labyrinthe améliorée, pouvez-vous m'aider dans la réalisation d'une applicartion serveur gérant plusieurs clients grâce à des threads?
Si je comprends bien, l'application serveur gère les connexions clients à l'aide de threads afin que l'échange avec un client ne se télescope pas avec celui d'un autre client en utilisant la méthode du verrou? .
Je suis actruellement sur le cours Python . Je fais mes exercices sous linux et je me souviens plus pour afficher mes programmes avec les différentes couleurs .
Cela m'aiderait à trouver mes erreurs plus facilement quand ça plante.
J'utilise, pour l'écriture des programmes, l'éditeur Geany qui colorie les mots clés du langage dans lequel tu écris ton programme. Il est assez pratique . Tu trouves la fonctionnalité dans:
Document -> Définir le type de fichier -> Langages de script -> Python
Est-ce la réponse à ta question?
(D'autres éditeurs possèdent cette fonctionalité appelée: coloration syntaxique).
Cordialement Mariotti Jean-François
Cordialement Mariotti Jean-François