Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 06/08/2007, à 08: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, à 09:21

bipede

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...


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, à 10: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, à 10: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" ? smile
( v pour valeur ? )
Gui


Guili Guili

Hors ligne

#30 Le 06/08/2007, à 10: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, à 10: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, à 10: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.

imgvc5.png

#32 Le 06/08/2007, à 11: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, à 11:22

Gillaume

Re : [Résolu] gros débutant en python : besoin d'aide

aleph

Merci
J'apprends avec l'interpréteur interactif, justement. smile


Guili Guili

Hors ligne

#34 Le 06/08/2007, à 11:33

Gillaume

Re : [Résolu] gros débutant en python : besoin d'aide

bc3ppc4o.png


Guili Guili

Hors ligne

#35 Le 06/08/2007, à 12: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, à 12:47

Gillaume

Re : [Résolu] gros débutant en python : besoin d'aide

zechris

Merci, je suis d'accord à 100%  big_smile


Guili Guili

Hors ligne

#37 Le 06/08/2007, à 15: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, ...)

img2tu3.png

Examine le contenu de cette image.

Bonne route.

#38 Le 06/08/2007, à 18: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, à 20: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, à 20: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, à 22:51

/b/nt/

Re : [Résolu] gros débutant en python : besoin d'aide

bipede a écrit :
/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 07/08/2007, à 00:58)

#41 Le 06/08/2007, à 22: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, à 22:59

/b/nt/

Re : [Résolu] gros débutant en python : besoin d'aide

Réponse rapide, ça marche. Merci bien.

#43 Le 07/08/2007, à 00: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 07/08/2007, à 00:52)

#44 Le 07/08/2007, à 02: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

http://www.activestate.com


Votez Macron, vous l'aurez dans le fion !

Hors ligne

#45 Le 07/08/2007, à 09:32

scholi

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**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

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, à 11:22

HymnToLife

Re : [Résolu] gros débutant en python : besoin d'aide

scholi a écrit :

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, à 11: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, à 11:36

bipede

Re : [Résolu] gros débutant en python : besoin d'aide

scholi a écrit :
/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**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

Utilises 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, à 12: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... smile

ça doit etre un truc comme a = a%60, a = a/60, a = a%3600 ....

Vous pouvez m'aiguiller ?
Merci smile


Guili Guili

Hors ligne

#50 Le 07/08/2007, à 12:36

scholi

Re : [Résolu] gros débutant en python : besoin d'aide

Gillaume a écrit :

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... smile

ça doit etre un truc comme a = a%60, a = a/60, a = a%3600 ....

Vous pouvez m'aiguiller ?
Merci smile

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, à 12:50)


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne