Salut! Identification

Recherche avancée

Besoin d'une petite aide en python

Envoyé par demon-lame 
Besoin d'une petite aide en python
vendredi 3 juillet 2015 12:22:44
J'aurai besoin d'une petite aide concernant un exercice pour lequel j'ai un petit problème.

Dans mon code j'écris ça:
print "Bienvenue dans le traducteur francais - Pyg Latin !"


original = raw_input("Quel est votre nom ?")
    if len("original")>0:                                      #la ligne qui pose problème
        return print original 
    else:
        return "vide"

Mais j'ai sans cesse cette réponse:
File "python", line 5
    if len("original")>0:
   ^
IndentationError: unexpected indent

Du coup je suis bloqué pour le reste de l'ex x/
Donc toute aide est bienvenue x)
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 12:40:46
Heu à prendre avec des pincettes, car j'ai plus écrit une ligne de Python depuis 5 ans je crois.
Mais y a deux trucs qui me troublent dans ton code, et c'est possiblement lié à ton erreur ptet.

- déjà, pourquoi tu fais "return print" ? Soit c'est return, soit c'est print, mais pas les deux à priori.
- et tu stockes une string dans la variable appelée original. Mais ensuite, tu demandes la longueur du mot "original" et non de cette variable (tu utilises des guillemets). Donc en gros, tu auras toujours len("original") = 8. Tu ne vas pas tester la longueur de ce que l'utilisateur a rentré ici. La syntaxe correcte pour ton test serait if len(original) si je ne me fourvoie pas.

Faudrait que quelqu'un de plus à jour que moi se penche là-dessus, c'est des vieux souvenirs d'ancien pratiquant pour le coup ce que j'ai dit.
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 12:57:38
Je pense qu'il ne faut pas indenter après ta déclaration de variable. Ton if est dans le même bloc.
Sinon SpiralPad a juste aussi, 3 fautes en si peu de ligne, tu pourrais aller lire un tuto lol.
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 13:34:40
Justement, je suis un tuto, mais il est plus tourné dans les exercices pratique et il n'y a pas de formulaire de réponse à leurs exercices x)

Merci Spiral et Roger, ça fonctionne!
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 13:57:28
Ah oui, je rate l'erreur principale moi, pourtant bien décrite par le message d'erreur :D
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 16:25:59
Dans quasiment tous les éditeurs de texte, t'as un truc qui te sauve la vie en Python : "convertir toutes les tabulations en espaces" (ou l'inverse).

Si tu as indenté "logiquement" ton code (les blocs sont au bon endroit), il n'est pas rare qu'il reste des indent errors, et en général c'est magique ;)
Re: Besoin d'une petite aide en python
vendredi 3 juillet 2015 22:38:44
Justement, j'utilise la tabulation, mais c'est juste que je croyais qu'il fallait mettre mon if à la ligne avec 4 espaces x)
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 14:55:18
Je reviens vers vous pour un autre coup de main ^^
Voici le morceau de code qui pose problème:

def hotel_cout(nuit):
    return 140 * nuit
    
def avion_billet_cout(ville):
    if ville == "Charlotte": 
        return 183
    elif ville == "Tampa":
        return 220
    elif ville == "Pittsburgh":
        return 222
    elif ville == "Los Angeles":
        return 
    
def location_voiture_cout(jours):
    prix = 40 * jours
    if jours >=  7:
        prix -= 50
    elif jours >= 3:
        prix -= 20   
    return prix

def voyage_cout(ville, jours, depense_argent):
    return location_voiture_cout(jours) + hotel_cout(jours) + avion_billet_cout(ville)+ depense_argent(depense_argent)

on me dit que le problème viens de là:
Oups, merci de réessayer. Soyez sûr que voyage_cout prend exactement trois paramètres : ville, jours, et depense_argent (dans cet ordre).

(Le truc c'est que je n'ai pas vraiment compris les consignes non plus x/
Modifiez la définition de la fonction voyage_cout. Ajoutez un troisième argument depense_argent.
Modifiez ce que la fonction voyage_cout fait. Ajoutez la variable depense_argent pour la somme qu'elle retourne.

(en gras = ce qui pose problème)
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:01:14
Tu as modifié la définition de la fonction, mais est-elle appelée quelque part ? (ce n'est pas dans le code fourni)

Tu n'as pas besoin de créer de fonction depense_argent, juste de l'ajouter à ton total.
Le voyage t'aura donc coûté la location de voiture, plus le séjour à l'hôtel, plus le billet d'avion, plus les dépenses personnelles.
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:06:05
J'avais mis ce bout-là, mais ça n'a pas l'air de fonctionner:

+ depense_argent(depense_argent)
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:07:04
Petite question au préalable : c'est normal qu'il n'y ait pas de prix pour un séjour à L.A. ?

Bon sinon, je ne suis pas sur d'avoir vraiment compris les consignes non plus.
Ce qui est sur, c'est que tu ne peux pas faire depense_argent(depense_argent), car cela voudrait dire que tu aurais défini une fonction qui s'appelle depense_argent, prenant en argument un entier (au même titre que tes 3 autres fonctions). Or ce n'est pas le cas.
Donc forcement, vu qu'il n'y a pas de telle fonction définie, ca ne peut pas marcher.

La, le seul truc qui me vient à l'esprit vu les consignes, c'est :

def voyage_cout(ville, jours, depense_argent):
depense_argent = location_voiture_cout(jours) + hotel_cout(jours) + avion_billet_cout(ville)
return depense_argent
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:09:00
Ah tu penses que c'est juste une dépense supplémentaire mini ?

La consigne "Modifiez ce que la fonction voyage_cout fait. Ajoutez la variable depense_argent pour la somme qu'elle retourne." ne me semble pas suggérer cela.
Ajoutez la variable pour la somme qu'elle retourne...
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:13:47
J'ai remis le prix pour L.A., ceci dit ton bout de fonction ne fonctionne pas x/
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:18:00
Du coup, j'ai suivis les conseils de mini et j'ai donc ça:
def voyage_cout(ville, jours, depense_argent):
    return location_voiture_cout(jours) + hotel_cout(jours) + avion_billet_cout(ville)+ depense_argent

toujours avec ce problème:
Oups, merci de réessayer. Soyez sûr que voyage_cout prend exactement trois paramètres : ville, jours, et depense_argent (dans cet ordre).
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:20:15
En fait c'est bon, ça marche. La valeur pour L.A. n'était plus là (alors que je l'avais remise x) ).
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:27:27
Citation
demon-lame
J'ai remis le prix pour L.A., ceci dit ton bout de fonction ne fonctionne pas x/

Il faut dire que c'était splendidement con ce que j'ai écrit, j'en reviens pas moi-même. Ça aurait jamais pu marcher :D
Et donc oui, forcement l'idée de mini marche, mais je me demande si c'est vraiment ca qui est attendu. Si oui, y avait une façon bien plus simple de le faire comprendre.

Edit pre-envoi : Ah si en fait. La consigne peut se comprendre comme cela aussi. "Ajoutez la variable depense_argent à la somme qu'elle retourne" aurait été un poil mieux quand même.
J'ai rien dit du coup, j'aurai juste réussi à me ridiculiser avec un bout de code sans queue ni tête.
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:28:53
C'est toujours mieux que de perdre une quantité considérable de temps sur une erreur pareille...
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:32:35
Par curiosité, tu fais quel tutoriel demon ?
C'est un peu curieux ce genre de tuto destiné aux vrais débutants et qui n'explique pas tout (notamment la résolution d'exercices).
Je sais bien que tu es engagé dedans du coup, mais doit y avoir des sites mieux faits si jamais tu veux regarder. En général, le site du zero (fin, openclassrooms desormais si je me souviens bien) propose des tutoriels très bien foutus et très progressifs.
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:36:43
je suis les tutos de ce sites: codecademy

Actuellement, je comprend et apprend assez vite avec, c'est juste que leur forum est mal foutu donc on ne trouve pas toujours la solution à nos problème (surtout qu'il faut attendre quelques mois pour une réponse x/).

Pour ce qui est du site du zéro, j'aime assez bien leur tuto, mais l'avantage de codecademy est qu'il propose une fenêtre intégré à la page pour mettre nos lignes de codes.
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:39:29
Ah ca explique la gueule personnalisée des messages d'erreur, je comprends mieux :D
Après, pour le codage en Python, c'est assez facile de s'affranchir d'une telle fenêtre, car y a plein de petits logiciels sympas bien foutus pour coder agréablement. J'utilisais surtout Codeblocks moi de mémoire.

Fin bon, j'comprends bien que tu finisses celui-la ;)
Bon courage !
Re: Besoin d'une petite aide en python
lundi 6 juillet 2015 15:42:14
Merci ^^
(Même si je me suis gouré et que j'aurai du commencer par le javascript pour mon projet xD)
Re: Besoin d'une petite aide en python
vendredi 30 octobre 2015 08:27:03
Merci pour la partage des informations.
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum. Se connecter / s'inscrire.