[pyar] Cargar diccionarios con ciclos for

Gabriel gepatino en gmail.com
Vie Mayo 18 14:44:25 ART 2012


El 18 de mayo de 2012 14:12, Javier Marín
<nano.world.contact en gmail.com>escribió:

> Otra vez yo, jaja...
>
> Bueno creo que esto es mas simple de consultar, lo que estoy tratando de
> hacer es cargar con un ciclo for un diccionario (tambien puede ser tupla o
> lista, depende del caso). La cuestión es que vengo con una lógica de C++ en
> donde se carga todo con un for (i=0; i<n; i++) y no logro adaptarme
> totalmente al for de python.
>
> El programa que tengo de práctica es relativamente simple, sencillamente
> tengo que introducir una cantidad 'x' de participantes en un concurso,
> luego con un ciclo for pido al usuario que introduzca los nombres y
> cantidad de votos que ha tenido cada participantes y de ahí quiero cargar
> en un diccionario como clave:valor cada vuelta en la que hace las preguntas
> de tal modo que quede diccionario ={nombre:votos}
>
> Pero los intentos que he hecho todos me dan error y creo que el más
> aproximado es este:
>
> agrupado = {}
>> cantidad = int(raw_input('cantidad de participantes: '))
>>
>> for nombre, puntos in agrupado(cantidad):
>>     nombre = raw_input('nombre del participante: ')
>>     puntos = int(raw_input('puntos acumulados: '))
>>
>> print agrupado
>>
>
>

El problema principal es que "agrupado(cantidad)" es invalido. Estas
tratando de llamar a un diccionario como si fuera un callable (una funcion
o metodo) y pasando le el argumento cantidad. Los diccionarios no son
callables, asi que eso falla.

Si queres ciclar por la cantidad que te paso el usuario, hace:

for i in range(cantidad):
    ...

eso es lo mas parecido al for tradicional de c++ que pones como ejemplo.

Igualmente, dentro del for te falta actualizar el diccionario agrupado con
lo que necesites. Tal como esta el codigo, el print agrupado te va a
devolver un {}




-- 
Gabriel E. Patiño
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120518/e4df09d9/attachment.html>


More information about the pyar mailing list