Python - necesito lograr obtener los 2 mayores puntajes imprimiendolos

 
Vista:
sin imagen de perfil

necesito lograr obtener los 2 mayores puntajes imprimiendolos

Publicado por anonymous (38 intervenciones) el 09/06/2021 14:37:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def top_chefs(candidatos):
 
    lista2 = []
 
    concursantes = candidatos.split(";")
 
    for ganador in concursantes:
 
        lista = ganador.split("-")
 
        lista2.append(lista)
 
        ganadores = calcular_puntaje(lista[0])
 
        print(ganadores)

teniendo en cuenta que la función calcular_puntaje es esta función, ya la probe y esta correcta;

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
27
28
29
30
31
32
33
34
35
36
def calcular_puntaje(frase):
 
    vocales = ["a","A","e","E","i","I","o","O","u","U"]
    consonantes = ["b","B","c","C","d","D","f","F","g","G","h","H","j","J","k","K","l","L","m","M","n","N","p","P","q","Q","r","R","s","S","t","T","v","V","w","W","x","X","y","Y","z","Z"]
 
    contador = 0
    total_vocales = 0
    total_consonantes = 0
    total_espacios = 0
 
 
    for letras in frase:
 
        if letras in vocales:
 
            total_vocales1 = contador * 3
            total_vocales += total_vocales1
 
        elif letras in consonantes:
 
            total_consonantes1 = contador * 1
            total_consonantes += total_consonantes1
 
 
        elif letras in " ":
 
            total_espacios1 = contador * -10
            total_espacios += total_espacios1
 
        else:
 
            total_nada = contador * 0
 
        contador += 1
 
    return(total_vocales + total_consonantes + total_espacios)

necesito lograr obtener los 2 mayores puntajes imprimiendolos de la siguiente manera;

Primer Lugar: Helado al jengibre con frutillas de Jeronimo con 211 puntos.
Segundo Lugar: Creme Brule al merken con maracuya de Nico con 153 puntos.

donde candidatos de la función top_chefs, podría ser el siguiente

"Helado al jengibre con frutillas-Jeronimo;Sopa al ajo con manjar-Caro;Creme Brule al merken con maracuya-Nico;Soya a la pimienta con pasta-Tony;Sushi al merken con arroz-Josefa;"
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

necesito lograr obtener los 2 mayores puntajes imprimiendolos

Publicado por joel (901 intervenciones) el 09/06/2021 18:19:05
Hola Alberto, te he modificiado la función top_chefs()... haber si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
def top_chefs(candidatos):
 
    lista2 = []
    concursantes = candidatos.split(";")
 
    for ganador in concursantes:
        lista = ganador.split("-")
        ganadores = calcular_puntaje(lista[0])
        if len(lista)==2:
            lista2.append([ganadores, lista[0]+" de "+lista[1]])
 
    lista2.sort(reverse=True, key=lambda x: x[0])
    return lista2[0:2]

Devuelve: [[211, 'Helado al jengibre con frutillas de Jeronimo'], [153, 'Creme Brule al merken con maracuya de Nico']]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

necesito lograr obtener los 2 mayores puntajes imprimiendolos

Publicado por anonymous (38 intervenciones) el 09/06/2021 18:23:15
Hola Joel es que necesito que me devuelva la funcion en este formato

Primer Lugar: Helado al jengibre con frutillas de Jeronimo con 211 puntos.
Segundo Lugar: Creme Brule al merken con maracuya de Nico con 153 puntos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

necesito lograr obtener los 2 mayores puntajes imprimiendolos

Publicado por anonymous (38 intervenciones) el 09/06/2021 18:38:37
Joel no dije nada solo tenia que hacer esto:
1
2
print("Primer Lugar:",lista2[0][1], "con", lista2[0][0], "puntos.")
print("Segundo Lugar:",lista2[1][1], "con", lista2[1][0], "puntos.")


muchas gracias!!!! te pasaste
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

necesito lograr obtener los 2 mayores puntajes imprimiendolos

Publicado por joel (901 intervenciones) el 09/06/2021 18:42:27
exacto!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar