user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 07-10-2015 05:26:10

m3rl1
Membre

Leçon 1: Calculer avec Python3

Chapitre 1: calculer avec python



1°) Les opérateurs arithmétiques.


a)Les opérateurs arithmétiques pour l'addition, la soustraction, la multiplication et la division sont:


-Addition: +
>>>5 + 3
8

-Soustraction: -
>>>10 - 7
3

-Multiplication: *
>>>3 * 3
9

-Soustraction: /
>>>8 / 2
4


b)Les opérations priotitaires sont prises en copmte et les parenthèses ont l'effet souhaité:


>>>1+2*3
7
mais
>>>(1+2)*3
9


c)Les nombres décimaux sont noté de manière anglaise. C'est a dire avec un point pour séparé les entiers des décimales et non une virgule. Noté que ceci est valable dans tous les langage de programmation.


>>>9.9 / 3
3.3

mais

9,9 / 3
(9.9/3)

sera une erreur


d) Les éspaces ne sont pas une obligation. Les mettres permet surtout d'"aéré" le texte rendant ainsi le code plus lisible.
Vous vouvez donc écrire 20+20 ou alors 20 + 20 c'est a vous de voir


>>>5+3
8
>>>5 + 3
8


e)L'opérateur de division / effectue une division réélle. Vous pouvez obtenir un résultat sous forme de nombre entier tronqué en utilisant le signe: //


>>>5.5 / 2
2.75

>>>5.5 // 2
2

1444187118.png


2°) Noms de variables réservé


Sous python les noms de variables doivent réspecter quelques règles simples:

-Les noms peuvent contenir n'importe quel lettre simple: (a~z , A~Z), des chiffres de 0 à 9 et doivent commencer par une lettre.
-Seules les lettres ordinaires sont autorisés. Pas d'accents, de cédilles, etc...
-Ne contient ni espace, ni caractères spéciaux a l'exeption du souligné: _
-La casse est respecter, c'est a dire que dans le nom une minuscule sera considéré differente d'une majuscule: Nom, nom, NOM sont 3 variable distinctes.

Par convention les variables commence et sont en minuscule. Les majuscules sont placé dans le nom de la variable afin de facilité la lecture: nomDeLaVariable.


Il y a 33 mots à ne pas utiliser en nom de variable car pyhon les utilises déjà:

NOMS INTERDITS a écrit :

and as assert break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raiser return True try while with yield

Hors ligne

#2 07-10-2015 07:17:39

IceF0x
#! Gourou Linux

Re : Leçon 1: Calculer avec Python3

>>> 9/3
3
>>> 9/4
2
>>> float(9)/4
2.25
>>> 2.25*4
9.0
>>> int(2.25)*4
8
>>> 

Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 07-10-2015 08:07:49

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

bonjour,

merci pour les précision...

IceF0x a écrit :

float(9)/4

ca c'est pour python2 ???
car sous python3 juste 9/4 suffit en fait

merci pour le int(2.25)*4 car effectivement ca je l'ai pas encore dans ce chapitre ...

Hors ligne

#4 07-10-2015 10:21:45

WarLocG
#! modo de compet

Re : Leçon 1: Calculer avec Python3

ca n'a rien a voir avec du python2 ou du python3, Icef0x a simplement utilisé un cast (une conversion de type) pour forcer son entier à s'exprimer comme un nombre décimal. Après son exemple n'est pas très bon, un meilleur cas d'utilisation serait par exemple de caster sur un retour de fonction ou ici une petite moyenne de ma part:

>>> article,somme=[2,6,5],0
>>> for a in article:
...     somme += a
... 
>>> (float) (somme) / len(article)
4.333333333333333
>>> (somme) / len(article)
4

Là tu vois la différence entre valeur avec et sans cast effectué. C'est déjà un peu plus loin que ce que tu montres dans ton tuto ca smile


Avant de poser vos questions, jeter un oeil ici
Mon CodeVault et Wiki : ici
Les messages privés envers le staff sont uniquement pour les cas d'urgence ou affaires privées (personnelles). Les demandes se feront exclusivement sur le forum. Merci de respecter cette clause sous peine de sanctions.

Hors ligne

#5 07-10-2015 11:17:05

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

heeuu ...

si je vois la difference c'est parce que je sais si ca dois me donner un résultat décimal ou non .. car franchement sans le résultat d'inscrit je ne vois pas a quel moment tu l'applique big_smile big_smile t'es partis trop loin pour moi là big_smile

Ben juste pour que tu comprenne : je débute, et je note ici mes cours au fur et a mesure que j'apprend comme ca d'autre peuvent en profité ...  donc comme tu peux le voir ... mon niveau de compréhention du langage python est encore très faible big_smile

mais merci bcp car je finirai par comprendre et d'autre le pourons deja aussi wink

Hors ligne

#6 07-10-2015 14:49:03

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

 $ python
Python 2.7.9 (default, Mar  1 2015, 18:22:53) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 9.0/4.0
2.25
>>> 

wink un bonne élève smile

la plupart des machines sont en python 2 actuellement.

une petite question, qui me trotte dans la tête depuis longtemps, python 3 peut il lancer tout les scripts de ses anciennes versions pythons. ou il y a une limite ?

en bref, si j'installe python 3, je peux utiliser un script qui date de Matusalem ?

@+


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#7 07-10-2015 15:19:31

IceF0x
#! Gourou Linux

Re : Leçon 1: Calculer avec Python3

Pour lancer des script python 2 il faut installer python 2 et mettre en shebang 

#!/usr/bin/env python2

Sinon l'execution du script retournera une erreur sur de simple différence de syntaxe.

Exemple:

print "foo"

Et

print("foo")

1444224205_capture_d_ecran_-_07102015_-_15_22_50.png


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#8 07-10-2015 17:11:03

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

re,

WangXiangzhai a écrit :

la plupart des machines sont en python 2 actuellement.

Dans votre terminal vous avez écrit python ... mais pour lancer python 3 il faut préciser "python3" en fait ... voir capture ci dessous


1444230410.png

Hors ligne

#9 07-10-2015 17:33:31

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

@IceF0x

ok, merci c'est important de savoir ça !

c'était évident pour moi en > mais pas en <

@m3rl1

alors là, m3rl1 tu viens de me faire tilter sur un truc.

merci beaucoup !

y a python3 sur KaliBang et en relisant l'historique des versions de wikipedia

https://fr.wikipedia.org/wiki/Python_%2 … s_versions

à la version 3.O

Le fichier __init__.py n'est plus nécessaire pour les modules Python

si WarLocG repasse par ici, il comprendra !

smile


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#10 07-10-2015 18:15:42

IceF0x
#! Gourou Linux

Re : Leçon 1: Calculer avec Python3

Pourtant, terminator dépend de python 2.5+ 2.6 recommandé donc le problème ne devrait pas être pris en compte.
De plus j'ai eu le même souci sur debian wheezy.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#11 07-10-2015 19:21:33

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

c'est pas propre à KaliBang, jessie, handy, etc... je te rassure !

je me demande, qui fait quoi dans le python ?

sur handylinux par ex:

il m'indique, que je suis sur Python 2.7.9 (c'est troublant pour une bille comme moi en python).

Debian + HandyLinux-2 - prenez le contrôle de votre système
 philippe@debian ~
 $ python
Python 2.7.9 (default, Mar  1 2015, 18:22:53) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "foo"
foo
>>> print("foo")
foo
>>> 

les 2 passent.

Debian + HandyLinux-2 - prenez le contrôle de votre système
 philippe@debian ~
 $ python2
Python 2.7.9 (default, Mar  1 2015, 18:22:53) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "foo"
foo
>>> print("foo")
foo
>>> 
Debian + HandyLinux-2 - prenez le contrôle de votre système
 philippe@debian ~
 $ python3
Python 3.4.2 (default, Oct  8 2014, 13:14:40) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print "foo"
  File "<stdin>", line 1
    print "foo"
              ^
SyntaxError: Missing parentheses in call to 'print'
>>> print("foo")
foo
>>> 

j'ai comme l'impression que python et python2 se comporte comme python3.

quoi que tu en penses ?


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#12 07-10-2015 20:03:43

IceF0x
#! Gourou Linux

Re : Leçon 1: Calculer avec Python3

sous python 3

print "foof"

ne passera pas


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#13 08-10-2015 01:52:49

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

re,

en fait deja avec ce chapitre je pense qu'il est possible de voir que les script en python2 ne passeront pas tous avec python 3...
vu que sous python 2 un truc du style: 9/2 donnais 4 .. sous python 3 ca donne 4,5 ... du coup si pour la suite du progrmme il fallait un nombre entier c'est foutu ... donc si deja une base comme ca ne passe pas dois surement y'avoir d'autre chose du même genre qui ne passerons pas non plus wink

Hors ligne

#14 08-10-2015 02:39:25

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

@m3rl1

c'est hallucinant !

merci bonne nuit.

@+


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#15 08-10-2015 13:22:37

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

@WangXiangzhai

oui c'est hallucinant .. j'aurai pensé que, comme les console de jeux, les nouvelles version accept les appli écrite sous l'ancienne version ...

Si le mec code depuis des année, qu'il a une bibliothèque de 1000 appli et qu'il doit les remodifié a chaque évolution du langage c'est chaud ... il arriverai même un jour ou le mec il n'aura pus le temps de réadapté tout dans la nuvelle version qu'une nouvelle resort et hop on reprend big_smile mdr

Hors ligne

#16 11-10-2015 02:58:08

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

m3rl1 a écrit :

d) Les éspaces ne sont pas une obligation. Les mettres permet surtout d'"aéré" le texte rendant ainsi le code plus lisible.
Vous vouvez donc écrire 20+20 ou alors 20 + 20 c'est a vous de voir

c'est valable avec les mots apparemment également.

Debian + HandyLinux-2 - prenez le contrôle de votre système
 philippe@debian ~
 $ python3
Python 3.4.2 (default, Oct  8 2014, 13:14:40) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ("big")+("foot")
'bigfoot'
>>> ("big") + ("foot")
'bigfoot'
>>> r = ("big")+("foot")
>>> print (r)
bigfoot
>>> r = ("big") + ("foot")
>>> print (r)
bigfoot
>>> 

@+


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#17 16-10-2015 07:04:34

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

salut,

desolé du manque e connection mais j'ai bosser cette semaine .. aujourd'hui dernier jour .. je reviens un peu ce soir (pas sur) mais surtout ce weekend (certain)


@WangXiangzhai

Merci pour l'info wink

Hors ligne

#18 16-10-2015 13:26:41

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

m3rl1 a écrit :

Merci pour l'info

c'est moi !

rates pas le post de Foxy Python - Pourquoi, bien débuter

@+

Dernière modification par WangXiangzhai (16-10-2015 13:30:23)


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#19 16-10-2015 17:09:51

Foxy
Membre

Re : Leçon 1: Calculer avec Python3

m3rl1 a écrit :

oui c'est hallucinant .. j'aurai pensé que, comme les console de jeux, les nouvelles version accept les appli écrite sous l'ancienne version ...

Si le mec code depuis des année, qu'il a une bibliothèque de 1000 appli et qu'il doit les remodifié a chaque évolution du langage c'est chaud ... il arriverai même un jour ou le mec il n'aura pus le temps de réadapté tout dans la nuvelle version qu'une nouvelle resort et hop on reprend big_smile mdr

En pratique, ce n'est pas un problème trop gênant. Python n'est effectivement pas rétro-compatible à partir de la version 3, mais Python 2 a évolué en parallèle pendant plusieurs années.

A partir de Python 3 les concepteurs ont décidé de le rendre, entre autre, plus intuitif. C'est comme cela que 9/4=2.25, parce que c'est ce que quelqu'un répondrait dans la vie courante. Par ailleurs un gros nettoyage des librairies en double a été effectué, pour suivre la philosophie de Python « Il ne devrait subsister qu'une seule méthode, qui soit à la fois optimale et naturelle pour chaque chose ».

Une première version alpha de Python 3 a été publiée le 31 août 2007, et officiellement en décembre 2008, à l'époque de la Python 2.5. Mais les évolutions les plus importantes développées en Python 3 ont été back-portées en Python 2 jusqu'en 2010 dans les versions 2.7.x, donc ce n'est pas trop problématique pour les utilisateurs.

WangXiangzhai a écrit :

j'ai comme l'impression que python et python2 se comporte comme python3.

Oui. A partir de Python 2.6 certaines innovations conçues pour Python 3 fonctionnent : plus de compatibilité qu'avec les versions jusque 2.5 donc.

Par ailleurs, il existe un outil nommé « 2to3 » qui aide à la conversion de Python 2 vers Python 3 (mais tout n'est pas automatique).

En résumé, si vous voulez développer vos propres applications en Python, faites-le avec Python 3, ce sera plus simple, plus intuitif. Si vous avez besoin d'utiliser une application qui a besoin de Python 2 lancez-la avec une des dernière version de Python 2.7 (qui reste disponible).

Voir plus de détails ici par exemple :
https://fr.wikipedia.org/wiki/Python_%2 … eloppement


Votre plus grande fierté n'est pas de ne jamais tomber, mais de vous relever après chaque chute.

Hors ligne

#20 16-10-2015 19:43:21

WangXiangzhai
Membre

Re : Leçon 1: Calculer avec Python3

merci Foxy, pour ces précisions.


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#21 19-10-2015 23:13:56

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

@Foxy

Merci bcp en effet pour ces précisions wink cela dit y'a encore un truc qui me dérange un peu:

Vous dites que les concepteur on rendu python3 + intuitif et 9/2=4.5 car c'est ce que répondrai quelqu'un ... oui en effet ... cela dit lorsqu'on demande une partie entière  a quelqu'un il l'arrondi , il ne donne pas sa troncature... je ne comprend pas pourquoi l'arrondi n'est pas aussi simple a obtenir que la troncature:
9 / 2 = 4.5
9 // 2 = 4 (troncature)
9 /// 2 = 5 (arrondi)

j'ai placer volontairement la troncature avant l'arrondi car en programmation elle sert bcp bcp bcp plus que l'arrondi... mais l'informatique et l'éléctronique etant une science et répondant a des critères scientifiques préci, il aurai été logique que les règles de maths y soit largement représenter, étant la base même de toutes sciences ... mais bon!!! vu mon niveau dans ce dommaine je ne vais pas ralé big_smile , j'apprend, je m'adpte et je ferai comme ça (pas le choix de toute façon big_smile mdr )

Dernière modification par m3rl1 (19-10-2015 23:14:43)

Hors ligne

#22 23-10-2015 20:11:48

Foxy
Membre

Re : Leçon 1: Calculer avec Python3

@m3rl1

Les modifications des fonctionnalités d'un langage sont le fruit de réflexions pour résoudre des problèmes.

Les évolutions de Python sont discutées dans des documents nommés PEP (Python Enhancement Proposals). Voir ici la liste complète des PEPs.
A la lecture de ces documents, on peut se rendre compte que les options ont été murement soupesées.

Donc bref, pour savoir pourquoi ils ont choisi de faire comme ceci ou comme cela on peut lire ces PEPs. Je fais simplement comme toi, j'apprends à me servir de Python. Lorsque je compare avec d'autres langages de programmation (dont Java que je connais assez bien, voir mon post Java - Pourquoi, bien débuter), je trouve que Python est vraiment beaucoup plus simple à utiliser. Donc je suis très content des choix effectués par les concepteurs de Python.

Pour le cas qui nous occupe, dans la PEP 238 -- Changing the Division Operator est discuté les problèmes que pose l'opérateur / pour la division.
Si un programmeur écrit :

a/b

et que a et b sont des variables, par exemple fournies par un utilisateur, en Python 2 le comportement du / est différent selon qu'on lui donne des nombres entiers ou décimaux. Très gênant parce que le programmeur ne le sait pas à l'avance (ou doit modifier son code, éventuellement effectuer des tests (if ...) pour prévoir les cas possibles). Dans Python 3 le comportement est le même et ça simplifie la programmation.
Le problème était tellement sérieux que la PEP 238 date déjà du 16-Mar-2001, dans Python 2.2.

m3rl1 a écrit :

je ne comprend pas pourquoi l'arrondi n'est pas aussi simple a obtenir que la troncature

Parfois ce qui est simple pour un cerveau (humain ou animal) est compliqué pour une machine, et vice versa.
Si je te demande 5614654987461/561654616, combien de temps cela va-t-il te prendre de le faire toi-même ? Des minutes probablement.
Avec une calculatrice c'est le temps de faire un copier-coller et d'appuyer sur =, soit quelques secondes.

Par contre si tu demandes "Comment t'appelles-tu ?" à Google il ne te répond pas "Je m'appelle Google" (ou simplement "Google"). sad
Si je te pose la question, ce sera très simple pour toi.

De même beaucoup d'animaux peuvent courir, nager, ou voler. Mais pour ce qui est des robots ce n'est pas encore au point. Les machines qui peuvent se déplacer sur le sol, dans l'eau et dans les airs sont entre autre des voitures, motos; bateaux, sous-marins; avions, hélicoptères et ce ne sont pas vraiment des robots. On commence seulement à avoir des voitures qui conduisent seules : les Google cars. Et le "pilote automatique" des avions n'est rien d'autre que de continuer tout droit à la même altitude (ne rien changer en fait, pas très "automatique" lol ).

Dernière modification par Foxy (21-12-2015 13:13:05)


Votre plus grande fierté n'est pas de ne jamais tomber, mais de vous relever après chaque chute.

Hors ligne

#23 21-12-2015 06:22:57

m3rl1
Membre

Re : Leçon 1: Calculer avec Python3

@Foxy

Merci beaucoup pour ces infos ... je ne savais pas du tout comment se passai l'évolution d'une langue ni qu'on pouvai voir les modifications proposé wink  merci

Pour ce qui est de la troncature j'ai vu en Basic qu'on utilisai bcp bcp :
Int(a/b)
pour avoir la troncature du résultat et non pas l'arrondi, ni le nombre décimal ... donc je comprend aussi que le résultat tronqué soit un choix prioritaire aussi wink ca dois bcp simplifier le codage pour les développeur wink

merci encore de ces précision en tout cas wink

Dernière modification par m3rl1 (21-12-2015 06:23:19)

Hors ligne

Pied de page des forums