[SOLVED] Un dia en el supermercado (A day in the supermarket) problema


#1

Saludos, les escribo nuevamente por una inquietud:

estoy realizando lo que dice el ejercicio:

def contar_burbujas(['pompas', 'burbujas']) #Defino la funcion contar_burbujas con una lista
contar= 0 #inicializo la vaiable contar para incrementarla
for valor in contar_burbujas(): #creo el ciclo
if lista =='burbujas': #defino la condicion
contar = contar + 1 #añado la accion
return contar #final del ejercicio

al final me arroja el siguiente error:
File "python", line 1
def contar_burbujas(['pompas', 'burbujas'])
^
SyntaxError: invalid syntax

ahora lo hago de otra manera:

lista=['pompas', 'burbujas']
def contar_burbujas(lista) #Defino la funcion contar_burbujas con la variable lista
contar= 0 #inicializo la variable contar para incrementarla
for valor in contar_burbujas(lista): #creo el ciclo
if lista =='burbujas': #defino la condicion
contar = contar + 1 #añado la accion
return contar #final del ejercicio

aqui me arroja lo mismo syntax error. HELP!!!


#2

@bryantkuseche: Hola, Bryan!
El problema con el código es que usted está tratando de iterar sobre funcionas de tal nombre y no es correcto .
Además, el uso de los contenidos de la lista , al igual que lo hizo, no es correcto , así, pero tengo que decir que no sé la razón de tal .

Su segundo código no funciona debido a que está tratando de llamar a su función, dentro de esa misma función exacta , y tratando de iterar sobre ella. Por lo que yo sé , tal cosa no es posible.

Puesto que ya has una lista con los elementos que ha pasado como argumento , el código debe ser algo como esto :

for iterationKey in iterable
#iterationKey: variable que se utiliza para iterar sobre algo
#iterable: lo que va a ser iterado

Trata de hacerlo

for valor in lista:

¡Deberia de funcionar!
Pero si no funciona , háganoslo saber para que podamos ayudarle!

Note: I apologize for my Spanish, had to use Google Translate.


#3

he introducido el siguente codigo tanto en Geany como en la pagina del curso:

def contar_burbujas(bano):
contar = 0
for n in bano:
if n == "burbujas":
contar = contar + 1
return contar

lista = ["jabon","champu","regadera","pasta dental", "burbujas","burbujas", "toallas"]
total = contar_burbujas(lista)
print total`

me retorna 0 en vez de 1.


#4

En cuanto a la lista real dentro de los paréntesis : es un error porque no debe ser un argumento . Vas a llamar a su función y pasa un valor a la misma por su argumento hacerlo

 functionName ( [ "Element 01 " , "Elemento 02 " ] )

es incorrecta .

Además, tiene que con sangría correctamente? Sin duda alguna que podría ser el return que está dentro de su Si comunicado.

Note: once again, I apologize for my Spanish! I'm using Google Translate.


#5

Yes, i 'm respect the indented code into the page, but, once again, i tried the same code in geany and the result is a 0, not 1, and don't worry, my english is very bad, very basic xD.


#6

Oh well, so I'll speak in English since it's more like an image I'll post here.
I copied and executed your code and I got the correct output which is two due to the fact you have two elements named "burbujas"

Did you change anything on your code?


#7

Yes, the mistake is the return, it is inside of the if, no in the for, thank you so much, i very appreciated.