Sujet: Re: additionner les éléments d'un tuple
De: sboa_marie1 (l' arobase) yahoo.fr (guyguy)
Groupes: fr.comp.lang.python
Organisation: http://groups.google.com
Date: 27. Jun 2008, 17:02:30
On 27 juin, 15:06, Bruno Desthuilliers <bruno.
42.desthuilli...@websiteburo.invalid> wrote:
guyguy a écrit :
On 27 juin, 13:22, Alain BARTHE <alain.barthe...@free.fr> wrote:
guyguy a écrit :
Bonjour
j'ai un problème avec mon programme
je cherche a additionner les valeur d'un champ qui est recupérer sous
forme de liste de tuple partant de sa valeur initiale
Voici mon code
crt_obj > >>> self.pool.get('production.contrat').browse(cr,uid,vals['numcontrat'])
id_contrat = (str(crt_obj)[-2:-1])
coa = crt_obj.numcontrat
sit = crt_obj.situation
type_sous = crt_obj.type_souscri
cr.execute("SELECT tx_part FROM production_coassurance WHERE
numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contrat, sit,
type_sous])
res = []
for val in cr.fetchall():
res.append(val)
if res:
tx_in = res[0][0] + val['tx_part']
NB: Chose étrange est que le premier enregistrement passe, mais ma
liste est vide et le second donne une erreur
TypeError: tx_in = res[0][0] + val['tx_part']
tuple indices must be integers
SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
val n'est pas le tuple,
Si.
val parcour la liste de tuple qui est renvoyer
par fetchall()
Non. val est le nom auxquels sont associés, successivement, les tuples
compris dans la liste retournée par fetchall(). Une fois sorti de la
boucle (par ailleur inutile), ce nom reste lié au dernier tuple de la
liste. IOW :
for val in cr.fetchall():
res.append(val)
assert val is res[-1]
Merci pour le bout de code elle marche et il me donne cette reponse
[(1,), (1,)]
mais je veux la valeur de ce resultat dans une variable pour me permet
de faire une comparaison de valeur
merci pour ce bout de code