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.

#1 Le 23/06/2008, à 18:37

Neur0mancien

Aide pour demarrage PYTHON

Bonjour!

Voila, je viens de me lancer dans la programmation, je commence donc par Python et ma première lecture à ce sujet se trouve ici: http://doc.ubuntu-fr.org/projets/ecole/python/1

Etant donné que j'ai tendance à apprendre mieux par moi-même, j'ai décidé de griller ptet 2 ou 3 étapes et me lancer dans la creation d'un script relativement simple si j'en crois les explications que j'ai eu...

Néanmoins, je bloque! et ca m'enerve!

Je voudrais juste faire un script d'un "programme de compagnie". Le principe étant que ce programme pose des questions et tape la discut' selon ce que l'utilisateur lui raconte.
Donc le script peux etre plus ou moins long si on part sur cette base! Ca c'est sur!
Mais bon, le bloque...

Pour l'instant, voici à quoi ca ressemble:

#!/usr/bin/env python
# -*- coding: UTF8 -*-
 
# On demande le prénom
prenom = raw_input("C'est quoi ton prénom ? ")

# On demande le nom
nom = raw_input("Ok, et c'est quoi ton nom ? ")
 
# On affiche le tout
print "bonjour", prenom, nom

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if = "nouvelles = rien"
	print "ah c'est nul alors"

Donc ceux qui s'y connaissent se ficherons de moi, ca c'est sur XD

ronan@machine:~$ python /home/ronan/Bureau/exemple.py
  File "/home/ronan/Bureau/exemple.py", line 15
    if = ("nouvelles = rien")
       ^
SyntaxError: invalid syntax

Quelqu'un pourrais m'indiquer ce que je doit ecrire svp?
Je voudrais que ca fasse un truc du genre "Si l'utilisateur répond <réponse_de_l'utilisateur> alors ca affiche <réponse_du_programme>

Je pensais que ca donnais un truc du genre:

if = (reponse_de_l'utilisateur)
          print (reponse_du_programme)

Mais non...

Tout est clair?

Merci d'avance big_smile


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#2 Le 23/06/2008, à 18:59

hackman61

Re : Aide pour demarrage PYTHON

#!/usr/bin/env python
# -*- coding: UTF8 -*-
 
# On demande le prénom
prenom = raw_input("C'est quoi ton prénom ? ")

# On demande le nom
nom = raw_input("Ok, et c'est quoi ton nom ? ")
 
# On affiche le tout
print "bonjour", prenom, nom

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if  ("nouvelles = rien"):
    print "ah c'est nul alors"

La syntaxe n'était pas bonne

Dernière modification par hackman61 (Le 23/06/2008, à 19:00)


Config : Acer swift 3 : Archlinux Ryzen 5 , 16G DDR4, NVME 250G

Hors ligne

#3 Le 23/06/2008, à 19:09

Neur0mancien

Re : Aide pour demarrage PYTHON

Super merci beaucoup!

Mais ensuite, comment faire pour continuer à mettre des réponses appropriés?

voila à quoi ca ressemble (notez la fin) :

#!/usr/bin/env python
# -*- coding: UTF8 -*-
 
# On demande le prénom
prenom = raw_input("C'est quoi ton prénom ? ")

# On demande le nom
nom = raw_input("Ok, et c'est quoi ton nom ? ")
 
# On affiche le tout
print "bonjour", prenom, nom

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if  ("nouvelles = rien"):
	print "ah c'est nul alors"
if  ("nouvelles = pleins de choses"):
	print "Raconte moi tout"

Mais quoi que je mette à la question "Et sinon quoi de nouveau dans ta vie?", ça me répond:

ah c'est nul alors
Raconte moi tout

Une petite idée?


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#4 Le 23/06/2008, à 19:30

hackman61

Re : Aide pour demarrage PYTHON

il te faut un else :

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if  ("nouvelles = rien"):
    print "ah c'est nul alors"
else  ("nouvelles = pleins de choses"):
    print "Raconte moi tout"

ça doit ètre qquchose comme ça, moi j'y connais pas grand chose en python big_smile


Config : Acer swift 3 : Archlinux Ryzen 5 , 16G DDR4, NVME 250G

Hors ligne

#5 Le 23/06/2008, à 19:32

Tom_L

Re : Aide pour demarrage PYTHON

Salut,
Quelques précisions:

L'assignation : par exemple : a=2 >> a prend la valeur 2. Le signe '=' n'a aucun sens mathématique...

Le test d'egalité : par exemple : a==1 (note le double = ) renvoie True si a=1, False sinon...

La chaîne de caractère : par exemple : "abcdef"

if = "nouvelles = rien"
    print "ah c'est nul alors"

Ca ça ne veut pas dire grand chose...

if  ("nouvelles = rien"):
    print "ah c'est nul alors"

Là tu ne réalise pas de test : nouvelles = rien est simplement une chaîne de caractères...

Par exemple dans une console tape:

python

puis

if "abcdef":
    print '1'
else:
    print '2'

Tu verras que la valeur retournée est toujours 1...

Pour faire ton test d'égalité c'est :

if  "nouvelles" == "rien":
    print "ah c'est nul alors"
else  "nouvelles" = "pleins de choses":
    print "Raconte moi tout"

Notes les guillemets délimitant les 2 chaînes de caractère à comparer et le double == pour tester l'égalité...

En espérant que ça aide....

Dernière modification par Tom_L (Le 23/06/2008, à 19:39)


~~~~~~
Thomas.

Hors ligne

#6 Le 23/06/2008, à 19:34

Neur0mancien

Re : Aide pour demarrage PYTHON

Euh non ca ne marche pas :/

#!/usr/bin/env python
# -*- coding: UTF8 -*-
 
# On demande le prénom
prenom = raw_input("C'est quoi ton prénom ? ")

# On demande le nom
nom = raw_input("Ok, et c'est quoi ton nom ? ")
 
# On affiche le tout
print "bonjour", prenom, nom

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if  ("nouvelles = rien"):
    print "ah c'est nul alors"
else  ("nouvelles = pleins de choses"):
    print "Raconte moi tout"

Ca me donne ca:

ronan@Neur0mancien:~$ python /home/ronan/Bureau/exemple.py
  File "/home/ronan/Bureau/exemple.py", line 17
    else  ("nouvelles = pleins de choses"):
          ^
SyntaxError: invalid syntax

[EDIT]

Ca marche si c'est comme ca:

# On demande les nouvelles
nouvelles = raw_input("Et sinon, quoi de nouveau dans ta vie ? ")
if  ("nouvelles = rien"):
    print "ah c'est nul alors"
else:
    print "Raconte moi tout"

Mais quoique je mette en réponse, ca me met "ah c'est nul alors"

Dernière modification par Neur0mancien (Le 23/06/2008, à 19:38)


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#7 Le 23/06/2008, à 19:44

Neur0mancien

Re : Aide pour demarrage PYTHON

Tom_L, ce que tu me dit la ne fonctionne pas.
En rajoutant ton:

if  "nouvelles" == "rien":
    print "ah c'est nul alors"
else  "nouvelles" = "pleins de choses":
    print "Raconte moi tout"

au reste, ca me met:

ronan@Neur0mancien:~$ python /home/ronan/Bureau/exemple.py
  File "/home/ronan/Bureau/exemple.py", line 17
    else  "nouvelles" = "pleins de choses":
                    ^
SyntaxError: invalid syntax

Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#8 Le 23/06/2008, à 19:44

Tom_L

Re : Aide pour demarrage PYTHON

Re,
Désolé, je suis un peu fatigué... En fait nouvelles est une variable donc pas de guillemets sinon c'est une chaîne de caractères. Puis j'ai oublié le double == sur le else... Il faut lire:

if  nouvelles == "rien":
    print "ah c'est nul alors"
elif  nouvelles == "pleins de choses":
    print "Raconte moi tout"

Comme ça ca devrait le faire...

Dernière modification par Tom_L (Le 23/06/2008, à 19:53)


~~~~~~
Thomas.

Hors ligne

#9 Le 23/06/2008, à 19:48

Neur0mancien

Re : Aide pour demarrage PYTHON

Non, meme avec "==" ca me relance:

ronan@Neur0mancien:~$ python /home/ronan/Bureau/exemple.py
  File "/home/ronan/Bureau/exemple.py", line 17
    else  "nouvelles" == "pleins de choses":
                    ^
SyntaxError: invalid syntax

C'est bien relou...


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#10 Le 23/06/2008, à 19:51

Tom_L

Re : Aide pour demarrage PYTHON

Oui, désolé, je suis vraiment très fatigué... neutral J'ai re-modifié mon post au dessus...


~~~~~~
Thomas.

Hors ligne

#11 Le 23/06/2008, à 19:53

Dark-Sham

Re : Aide pour demarrage PYTHON

Tu n'as pas enlevé les guillemets autour de nouvelles wink


Script de sauvegarde/restauration APT

Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe

Hors ligne

#12 Le 23/06/2008, à 19:55

Neur0mancien

Re : Aide pour demarrage PYTHON

YEAH! C'est bon Tom_L!

Je ne connais pas cette commande "Elif", ca sort d'ou ?

Merci, j'avance à grands pas big_smile

Mais dit moi, tant qu'à faire...  D'après toi ce serait quoi la commande pour faire en sorte que si l'utilisateur marque quelquechose qui n'est pas prévu (exemple: coucou) ça renvoi un truc du genre "j'ai pas compris, tu peux repeter?"

Dernière modification par Neur0mancien (Le 23/06/2008, à 19:56)


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#13 Le 23/06/2008, à 19:57

Tom_L

Re : Aide pour demarrage PYTHON

elif est la contraction de else if... en français ça donnerait sinon si ...

Mais dit moi, tant qu'à faire...  D'après toi ce serait quoi la commande pour faire en sorte que si l'utilisateur marque quelquechose qui n'est pas prévu (exemple: coucou) ça renvoi un truc du genre "j'ai pas compris, tu peux repeter?"

Un truc comme ça ?

if  nouvelles == "rien":
    print "ah c'est nul alors"
elif  nouvelles == "pleins de choses":
    print "Raconte moi tout"
else:
    print "J'ai pas compris"

Dernière modification par Tom_L (Le 23/06/2008, à 19:59)


~~~~~~
Thomas.

Hors ligne

#14 Le 23/06/2008, à 20:03

Neur0mancien

Re : Aide pour demarrage PYTHON

Ah ouais ca marche! Super!
Donc si je continue comme ca, je peux faire un script avec plus de 3000lignes et tout... d'accord...

Je précise que c'est mon entrainement à moi, faut pas chercher quelconque interet lol

Sinon, admettons que je veuille faire un truc style je pose une question:
"Tu va bien?"
Et que le prog réponde quelques secondes après, mais pendant ce lapse de temps ca affiche des petits points style temps de chargement...
Peut-etre que ce serais plus facile de faire une interface graphique, non?


Windows XP, c'est pour les jeux. Linux, c'est pour tout le reste.

Hors ligne

#15 Le 23/06/2008, à 22:33

reeth

Re : Aide pour demarrage PYTHON

Fais une recherche avec "Swinnen", et lis son bouquin qui est pas mal pour débuter, ça t'éviteras de venir poser toutes ces questions ici et avec ses petits exos, tu progresseras assez vite wink

Hors ligne