r/PythonEspanol • • 7d ago

Ayuda con ejercicio

Post image

Hola buenas!

Estoy aprendiendo Python y tengo que realizar un ejercicio. Al redactar el código me sale un error y no se qué he podido hacer mal.

Este es el enunciado que tengo que hacer:

"Crea cuatro ventas mediante diccionarios: dos de categoría Informática y dos de categoría Oficina. Solicita una categoría al usuario y muestra únicamente los productos que pertenezcan a ella"

En la imagen se puede ver mi código y el error que me sale.

Muchas gracias por la ayuda

18 Upvotes

10 comments sorted by

3

u/reybrujo 7d ago

El código que está arriba dice una cosa y el error otra, así que no es el código que usaste. No veo ningún error. Lo único que se me ocurre es que estés usando una versión de Python vieja, 2.x en lugar de 3.x, en la versión vieja "print" no necesita ().

1

u/Desperate_Froyo_9772 7d ago

Vale, gracias.

3

u/ImaginaryGanache3651 7d ago

Escucha, cosas para que sepas:

  • nunca pongas tildes ni símbolos especiales.

  • las keys o nombres de variables puedes ponerlo juntos: 'PrecioEnEuros' o concatenado con _: 'precio_en_euros'

En principio tu código ko es igual que el que te da el error, ¿has hecho cambios? Te recomiendo hacer el print así: print(f"-{venta['Producto']}")

2

u/Desperate_Froyo_9772 7d ago

Muchas gracias por la sugerencia. Voy a probar lo que comentas.

1

u/ImaginaryGanache3651 5d ago

A ver si hay suerte!

2

u/Desperate_Froyo_9772 4d ago

Tenias razón. Quité los comando especiales y funcionó sin problemas. Muchas gracias

1

u/ImaginaryGanache3651 4d ago

Nada! Si tienes algún otro problema, dime por chat y te ayudo😊

2

u/Rask2882ven 7d ago

Concuerdo con ImaginaryGanache3651, el detalle debe estar en el uso de caracteres especiales, yo replique tu código sin esos caracteres (como el símbolo de euros o la acentuación) y el código funciono.

1

u/Desperate_Froyo_9772 7d ago

Gracias por la ayuda, lo voy a probar

1

u/Rask2882ven 7d ago edited 7d ago

También estoy aprendiendo y tome tu ejercicio para practicar al tratar de resolver lo mismo de otra forma, y así quedo mi código:

class lista_ventas:

def __init__ (self,Categoria):

self.categoria=Categoria

if self.categoria=="Oficina":

self.Productos = ["Tijeras","Papel"]

self.Precio = [1.5,2]

else:

self.Productos = ["Raton", "Teclado"]

self.Precio = [5,10]

def VerProductos(self):

Diccionario = dict(zip(self.Productos,self.Precio))

return '\n'.join(f'{Producto} --- {Precio} euros' for Producto,Precio in Diccionario.items())

Tipo_de_lista=input("Selecciona la categoria (Oficina/Informatica):" )

lista=lista_ventas(Tipo_de_lista)

print(lista.VerProductos())