Python - Operaciones sobre string conteo de palabras

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 958 puestos en Python (en relación al último mes)
Gráfica de Python

Operaciones sobre string conteo de palabras

Publicado por Simon (4 intervenciones) el 24/07/2021 05:13:25
Intento realizar un contador utilizando palabras, entonces si doy el nombre de tres productos debe tener como salida cuales de estos se catalogan como saludable si tienen alguna de las siguientes palabras: dietetico, cero, veggie o natural. El código que he intentado, siempre se cumple las tres condiciones y está mal. No sé cómo podría organizarlo, espero que alguien me eche una mano.
ejemplo:
producto_1: "yogurt natural"
producto_2: "chocolate"
producto_3: "pizza veggie"
La salida debería ser: 2 (productos saludables).
Gracias.

1
2
3
4
5
6
7
8
9
def conteo_producto (producto_1:str, producto_2:str, producto_3:str)->int:
    saludable = 0
    if "dietetico" or "cero" or "veggie" or "natural" in producto_1:
        saludable += 1
    if "dietetico" or "cero" or "veggie" or "natural" in producto_2:
        saludable += 1
    if "dietetico" or "cero" or "veggie" or "natural" in producto_3:
        saludable += 1
    return saludable
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Operaciones sobre string conteo de palabras

Publicado por tincopasan (1082 intervenciones) el 24/07/2021 07:01:53
hay muchas formas de hacer esto, te muestro dos, pero ya tenés una idea y podés investigar que otras cosas se pueden hacer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#-*- coding: utf  -8 -*-
pro_1= "yogurt natural"
pro_2= "chocolate "
pro_3= "pizza veggie"
 
def conteo_producto (producto_1, producto_2, producto_3):
    sanos=["dietetico","cero","veggie","natural"]
    saludable = 0
    for x in sanos:
        if x in producto_1:
            saludable += 1
        elif x in producto_2:
            saludable += 1
        elif x in producto_3:
            saludable += 1
    return f"{saludable} productos saludables"
print(conteo_producto(pro_1,pro_2,pro_3))
 
def conteo_productos (producto_1, producto_2, producto_3):
    lista=f"{producto_1} {producto_2} {producto_3}".split()
    sanos=["dietetico","cero","veggie","natural"]
    saludable = 0
    for x in sanos:
        saludable += lista.count(x)
    return f"{saludable} productos saludables"
print(conteo_productos(pro_1,pro_2,pro_3))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar