[python] Intitaliser une variable vide

Fermé
stephane70 - 21 févr. 2008 à 16:27
papieminem1 Messages postés 1206 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 23 novembre 2015 - 16 avril 2008 à 01:38
Bonjour,

Je suis toujours les cours de Swinnen et j'en suis a l'exercice 7.14 ou l'on doit créer une déf qui permet de caculer le volume d'une boite dont on a définit des paramètre par défaut.

Alors j'ai créer une définition avec des paramètres par défaut :

def volboite(x1=10,x2=10,x3=10):
	return x1*x2*x3


Puis le programme appelant :

from voboite import *
print '0=valeur inconnu'
a,b,c=input('Entrez les parametres de la boite separee par une virgule : ')
if a!=0 and b!=0 and c!=0:
    print volboite(a,b,c)
elif a!=0 and b!=0 and c==0:
    print volboite(a,b)
elif a!=0 and b==0 and c==0:
    print volboite(a)
else :
    print volboite()
raw_input()


Mais voila, je n'ai pas réussis a définir un une variable : si vide alors prendre la valeur par défaut.

j'ai été obligé de remplacer par la valeur 0 et donc je suis obligé de l'entrer si je veux utiliser une ou plusieurs valeurs par défaut.

Il doit bien avoir une solution donc je fais appel a vous

Merci pour votre aide

Stéphane70
A voir également:

1 réponse

papieminem1 Messages postés 1206 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 23 novembre 2015 195
16 avril 2008 à 01:38
def volBoite(x1=-1,x2=-1,x3=-1):
if x1==-1: #Aucun argument n'a été fourni
return x1
if x2==-1: #Un seul argument boite cubique
return x1*x1*x1
if x3==-1: #deux arguments ont été founis on a un prisme
return x1*x1*x2
if x3!=-1: #trois arguments ont été fournis on a un parallelepipede
return x1*x2*x3
print volBoite(5.2) #teste de la fonction
print volBoite(5.2, 3)
print volBoite(5.2, 3, 7.4)




slt
Je suis sor les cour de Swinnen aussi alors voica comment moi j'avais fait cet exo
bon dans ton cas je crois que tu devrais tes conditions dans la definition de la fonction elle meme
et revoir tes valeur par defauts





-1