Salut
J'ai un problème avec bool et int, je m'explique, j'ai fait une fonction pour ajouter des nombre de type (int ou str) dans un fichier texte comme suit
Execution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def add_nbr(nbr): if isinstance(nbr,'int') or isinstance(nbr,'str'): nbr_file = open('M:\\nbrfile.txt','w') nbr_file.write(nbr) nbr_file.close() return True else: raise "Type argument incorrect %s" % (type(nbr))
Mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >>>add_nbr(5) # :P True
que faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>>add_nbr(True) # :( - False =0 et True = 1 logique True
J'ai fait une fonction qui me donne le type de la variable sous forme de 'int', 'str' et 'bool'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 def typeof(var): type_var = type(var) split_type_var = str(type_var).split("'") return split_type_var[1]Existe-il un autre moyen pour faire ça?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if typeof(nbr) not in ['str','int']: raise "Type argument invalide (int ou str), erreur %s" % (type(nbr))
Merci
Z
Partager