#26 Le 06/08/2007, à 07:56
- aleph
Re : [Résolu] gros débutant en python : besoin d'aide
>Guillaume
Sous forme de recette...
a = 2
b = 2 * 1.65
print a, 'euros =', b, 'dollars' #(1)
print ('%i euros = %f dollars') % (a, b) #(2)
print '%i euros = %f dollars' % (a, b) #(3)
print ('%i %s %f %s') % (a, 'euros =', b, 'dollars') #(4)
print ('%5i euros = %7.2f dollars') % (a, b) #(5)
print '%(veuro)i euros = %(vdollar)f dollars' % \
{'veuro': a, 'vdollar': b} #(6)
print '%(veuro)5i euros = %(vdollar)7.2f dollars' % \
{'veuro': a, 'vdollar': b} #(7)
print a, 'euros', b, #(8)
print 'dollars'
qui donne
2 euros = 3.3 dollars
2 euros = 3.300000 dollars
2 euros = 3.300000 dollars
2 euros = 3.300000 dollars
2 euros = 3.30 dollars
2 euros = 3.300000 dollars
2 euros = 3.30 dollars
2 euros 3.3 dollars
#(1) : variante d'usage, simple
#(2) : forme formatée de #1, à utiliser comme dans #5
#(3) : variante sans les parenthèses, moins lisible à mon goût
#(4) : variante de #(2)
#(8) : juste pour rendre attentif qu'un print statement se terminant par une virgule ne force pas un retour à la ligne.
Bonne continuation.
PS: si s à euros, alors s à dollars
#27 Le 06/08/2007, à 08:21
- bipede
Re : [Résolu] gros débutant en python : besoin d'aide
j'ai commencé à utiliser Python. quel IDE me conseillez-vous ? j'aime pas voir le résultat sur un terminal .
Scite est un très bon éditeur qui permet à la fois de coder et de tester ton code...
Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.
Mon site: Les contributions du bipède
Hors ligne
#28 Le 06/08/2007, à 09:00
- aleph
Re : [Résolu] gros débutant en python : besoin d'aide
> /b/nt
Je suis convaincu que le meilleur moyen pour faire ses armes en Python reste l'interpréteur interactif.
Liste non exaustive :
Linux: console, wxPython (PyShell), IDLE
Windows: console, wxPython (PyShell), IDLE, psi. psi à la particularité de ne nécessiter aucune installation préalable de Python et/ou d'une librairie graphique tierce.
IDLE : www.python.org ou dépôts
PyShell : www.wxpython.org
psi : http://spinecho.ze.cx/
#29 Le 06/08/2007, à 09:13
- Gillaume
Re : [Résolu] gros débutant en python : besoin d'aide
@aleph
merci
Je comprends pas trop les lignes #2,3,4,5,6,7...
Qu'est ce %i %f .. ?
Et pourquoi "dollar" se transforme en "vdollar", et "veuros" ?
( v pour valeur ? )
Gui
Guili Guili
Hors ligne
#30 Le 06/08/2007, à 09:22
- scholi
Re : [Résolu] gros débutant en python : besoin d'aide
ou mieux encore utilise vim (excellent éditeur) qui te permet d'exécuter le scripte python directement depuis l'éditeur de texte. Il te permettra aussi de scinder la fenêtre en deux pour afficher deux parties différentes du même fichier (chose très pratique pour les développeurs). Sinon c'est une question de goût. À toi de voir...
Sinon IDLE est pas mal, je l'ai utilisé un temps. La seul chose agaçante est qu'IDLE gère très mal les tabulations. Donc si tu édites ton fichier avec un éditeur de texte classique et que tu veux le modifier avec IDLE, tu vas avoir quelques problèmes (quoique pas si compliqué à résoudre, mais agaçant quand même)
Dernière modification par scholi (Le 06/08/2007, à 09:24)
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#31 Le 06/08/2007, à 09:54
- aleph
Re : [Résolu] gros débutant en python : besoin d'aide
Un petit aperçu de l'apprentissage Python avec un interpréteur interactif.
#32 Le 06/08/2007, à 10:03
- aleph
Re : [Résolu] gros débutant en python : besoin d'aide
>Guillaume
Honnêtement, je crois que jeter un oeil à la doc de Python vaudra toutes les explications partielles que je pourrais donner ici. Dans ton cas : Python Library Reference, 3.6.2 String Formatting Operations
C'est exactement le genre de chose que l'on apprend le mieux en jouant avec un interpréteur interactif.
#33 Le 06/08/2007, à 10:22
- Gillaume
Re : [Résolu] gros débutant en python : besoin d'aide
aleph
Merci
J'apprends avec l'interpréteur interactif, justement.
Guili Guili
Hors ligne
#35 Le 06/08/2007, à 11:09
- zechris
Re : [Résolu] gros débutant en python : besoin d'aide
rien a voir avec le sujet mais tu as un très bon avatar Guillaume.
FZ sera toujours le meilleur
@+
kubuntu Natty
Hors ligne
#36 Le 06/08/2007, à 11:47
- Gillaume
Re : [Résolu] gros débutant en python : besoin d'aide
zechris
Merci, je suis d'accord à 100%
Guili Guili
Hors ligne
#37 Le 06/08/2007, à 14:37
- aleph
Re : [Résolu] gros débutant en python : besoin d'aide
>Guillaume
>J'apprends avec l'interpréteur interactif, justement.
Rien de mieux. Les IDLE, psi, pyShell ou autres ont l'avantage par rapport à une console d'être vraiment orienté Python (style, menu, sauvegarde, historique tenant compte d'une commande multiligne, ...)
Examine le contenu de cette image.
Bonne route.
#38 Le 06/08/2007, à 17:21
- Djiboun
Re : [Résolu] gros débutant en python : besoin d'aide
Salut
Juste pour information, GEdit a un greffon qui permet d'ouvrir une console Python en dessous du programme.
http://live.gnome.org/Gedit/Plugins
Un gros débutant balbutiant en Python.
Hors ligne
#39 Le 06/08/2007, à 19:30
- scholi
Re : [Résolu] gros débutant en python : besoin d'aide
Meilleur moyen s'apprendre python: http://www.pythonchallenge.com
C'est un jeu d'énigme où l'on passe de niveau en niveau. Pour chaque niveau il faut trouver un mot (qui serra ensuite inséré dans l'url). Donc indice pour ne pas que vous pétiez un câble dès le premier niveau (qui s'avère être le niveau 0), il faut calculer ce que demande l'image et change le 0.html de l'adresse en résultat_calculé.html.
(Je l'ai fini, si vous avez besoin de 2-3 indices, faites moi signe)
EDIT: J'ai bien sûr oublié de préciser, mais bon l'url est assez clair, mais le jeu est impossible à résoudre sans Python. En tant que débutant vous apprendrez vite à découvrir les divers fonctions de python. A tester absolument!
Dernière modification par scholi (Le 06/08/2007, à 19:32)
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#40 Le 06/08/2007, à 21:51
- /b/nt/
Re : [Résolu] gros débutant en python : besoin d'aide
/b/nt/ a écrit :j'ai commencé à utiliser Python. quel IDE me conseillez-vous ? j'aime pas voir le résultat sur un terminal .
Scite est un très bon éditeur qui permet à la fois de coder et de tester ton code...
J'ai essayé scite, il a l'air bien. par contre j'ai des problèmes d'encodage :
par exemple :
a = 0 ,
if a !=2:
print 'perdu'
elif a ==3:
print 'un instant, s.v.p.'
else :
print 'gagné'
me retourne :
File "essai.py", line 7
SyntaxError: Non-ASCII character '\xe9' in file essai.py on line 7, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
>Exit cod
ce problème je l'ai pas sous idle.
comment faire ?
Merci
Dernière modification par /b/nt/ (Le 06/08/2007, à 23:58)
#41 Le 06/08/2007, à 21:55
- HymnToLife
Re : [Résolu] gros débutant en python : besoin d'aide
Ajoute ça en première ligne de ton script :
#!coding: utf-8
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#42 Le 06/08/2007, à 21:59
- /b/nt/
Re : [Résolu] gros débutant en python : besoin d'aide
Réponse rapide, ça marche. Merci bien.
#43 Le 06/08/2007, à 23:51
- /b/nt/
Re : [Résolu] gros débutant en python : besoin d'aide
Pourquoi ce script marche sous idle et pas sous scite ni sous eric :
#!coding: utf-8
print 'Veuillez entrer un nombre positif quelconque : ',
nn =input()
print 'Le carré de', nn, 'vaut', nn**2
eric ne répond pas.
et scite donne cette réponse :
>python -u "essai.py"
Veuillez entrer un nombre positif quelconque : Traceback (most recent call last):
File "essai.py", line 3, in <module>
nn =input()
IOError: [Errno 9] Bad file descriptor
>Exit code: 1
Dernière modification par /b/nt/ (Le 06/08/2007, à 23:52)
#44 Le 07/08/2007, à 01:20
- NooP
Re : [Résolu] gros débutant en python : besoin d'aide
Salut,
Comme bon IDE, tu as aussi Komodo EDIT, que tu pourras trouver sur le site d'Activestate
Votez Macron, vous l'aurez dans le fion !
Hors ligne
#45 Le 07/08/2007, à 08:32
- scholi
Re : [Résolu] gros débutant en python : besoin d'aide
Pourquoi ce script marche sous idle et pas sous scite ni sous eric :
#!coding: utf-8
print 'Veuillez entrer un nombre positif quelconque : ',
nn =input()
print 'Le carré de', nn, 'vaut', nn**2eric ne répond pas.
et scite donne cette réponse :
>python -u "essai.py"
Veuillez entrer un nombre positif quelconque : Traceback (most recent call last):
File "essai.py", line 3, in <module>
nn =input()
IOError: [Errno 9] Bad file descriptor
>Exit code: 1
Utilises raw_input() à la place de input(). input() ne fait pas du tout ce que tu recherches...
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#46 Le 07/08/2007, à 10:22
- HymnToLife
Re : [Résolu] gros débutant en python : besoin d'aide
Utilises raw_input() à la place de input(). input() ne fait pas du tout ce que tu recherches...
Ah bon ? Je suis d'accord qu'il vaut mieux utiliser raw_input mais input marche bien aussi...
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#47 Le 07/08/2007, à 10:35
- scholi
Re : [Résolu] gros débutant en python : besoin d'aide
oui sauf qu'il ne fait pas la même chose. Si tu fais:
x=input() et que tu entres 6*7, x va valoir 42 alors qu'avec raw_input, x va valoir "6*7"
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#48 Le 07/08/2007, à 10:36
- bipede
Re : [Résolu] gros débutant en python : besoin d'aide
/b/nt/ a écrit :Pourquoi ce script marche sous idle et pas sous scite ni sous eric :
#!coding: utf-8
print 'Veuillez entrer un nombre positif quelconque : ',
nn =input()
print 'Le carré de', nn, 'vaut', nn**2eric ne répond pas.
et scite donne cette réponse :
>python -u "essai.py"
Veuillez entrer un nombre positif quelconque : Traceback (most recent call last):
File "essai.py", line 3, in <module>
nn =input()
IOError: [Errno 9] Bad file descriptor
>Exit code: 1Utilises raw_input() à la place de input(). input() ne fait pas du tout ce que tu recherches...
input est tout à fait correct et est équivalant à :
eval(raw_input("Message d'invite"))
Par contre, mon code aurait été le suivant :
#! /usr/bin/env python
#-*- coding: utf-8 -*-
try:
nn = input("Veuillez entrer un nombre positif quelconque : ")
print "Le carré de", nn, "vaut", nn**2
except:
print "J'ai dit un nombre !"
La première ligne permet d'indiquer à l'OS que c'est l'interpréteur python qui doit être utilisé.
La deuxième ligne est la bonne syntaxe pour indiquer l'encodage du fichier
Le "try:" permet de récupérer les erreurs. En effet, sans cela, si on saisit autre chose que des chiffres avec la fonction input() une erreur terminera le programme alors que là, si on saisi autre chose que des chiffres, c'est le code situé sous "except:" qui sera interprété...
Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.
Mon site: Les contributions du bipède
Hors ligne
#49 Le 07/08/2007, à 11:22
- Gillaume
Re : [Résolu] gros débutant en python : besoin d'aide
salut
je me suis installé IDLE.
Je suis sur un petit pb, mais je seche, je le comprends, mais j'ai du mal à le tourner....
Il est demandé d'utiliser %
"ecrire un prog qui convertit un nbre entier de secondesfourni au départ, en nbre d'années, de mois, de jours, de minutes et de secondes."
Il faut, je pense, utiliser / aussi.
en fait, si je pose le nbre de secondes a = 2500000
j'obtiens le nbre de minutes + le nombres de secondes restantes
a/60 et a%60
mais je ne sais pas récupérer ces valeurs.. je m'emmele les pinceaux...
ça doit etre un truc comme a = a%60, a = a/60, a = a%3600 ....
Vous pouvez m'aiguiller ?
Merci
Guili Guili
Hors ligne
#50 Le 07/08/2007, à 11:36
- scholi
Re : [Résolu] gros débutant en python : besoin d'aide
salut
je me suis installé IDLE.
Je suis sur un petit pb, mais je seche, je le comprends, mais j'ai du mal à le tourner....
Il est demandé d'utiliser %"ecrire un prog qui convertit un nbre entier de secondesfourni au départ, en nbre d'années, de mois, de jours, de minutes et de secondes."
Il faut, je pense, utiliser / aussi.
en fait, si je pose le nbre de secondes a = 2500000
j'obtiens le nbre de minutes + le nombres de secondes restantes
a/60 et a%60
mais je ne sais pas récupérer ces valeurs.. je m'emmele les pinceaux...ça doit etre un truc comme a = a%60, a = a/60, a = a%3600 ....
Vous pouvez m'aiguiller ?
Merci
heu style:
h,m,s = (s/3600,(s%3600)/60,s%60)
----------------------------------------------------------
Sinon pour le problème du input, n'utilsez JAMAIS input() si raw_input() fait l'affaire, ça peut éviter des bugs et c'est beaucoup plus sécurisé. Dans le cas de demander un nombre à l'utilisateur, raw_input() est plus que suffisant.
Et le problème vient plutôt de la manière bizarroïde que tu as de lancer ton scripte:
python -u "fichier.py" c'est quoi ça pour du chenil? (Je dis pas que c'est faux, je dis pas non plus que le problème vient de là, mais je dit juste que c'est un peu lourd et inutile)
Tapes simplement ./fichier.py
EDIT: Code qui marche:
#!/usr/bin/python
#-*- coding: utf-8 -*-
nn = raw_input('Veuillez entrer un nombre positif quelconque : ')
print 'Le carré de %i vaut %i' % (int(nn), int(nn)**2)
Nota: n'oublie pas de vérifier que ton fichier soit bel est bien en utf-8
Dernière modification par scholi (Le 07/08/2007, à 11:50)
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne