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, 15:45:24
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, val parcour la liste de tuple qui est renvoyer
par fetchall()
tx_part est champ de saisie
je saisie des valeurs une à une dans tx_part et avoir la somme de
toute ces valeurs ainsi que la valeure initial de tx_part