Python - Duda sobre f-strings

 
Vista:
Imágen de perfil de Román

Duda sobre f-strings

Publicado por Román (8 intervenciones) el 05/03/2023 07:49:11
Saludos a todos.

Tengo una duda sobre el uso de f-strings, he estado analizando ese código pero no entiendo que función exactamente cumple el [0] en: print(f' {clave}) {opciones[clave][0]}').
Sé que indica la posición con respecto a un elemento.

Agradezco sus opiniones al respecto del mencionado fragmento del código.

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
def mostrar_menu(opciones):
    print('Seleccione una opción:')
    for clave in sorted(opciones):
        print(f' {clave}) {opciones[clave][0]}')
 
 
def leer_opcion(opciones):
    while (a := input('Opción: ')) not in opciones:
        print('Opción incorrecta, vuelva a intentarlo.')
    return a
 
 
def ejecutar_opcion(opcion, opciones):
    opciones[opcion][1]()
 
 
def generar_menu(opciones, opcion_salida):
    opcion = None
    while opcion != opcion_salida:
        mostrar_menu(opciones)
        opcion = leer_opcion(opciones)
        ejecutar_opcion(opcion, opciones)
        print()
 
def menu_principal():
    opciones = {
        '1': ('Opción 1', accion1),
        '2': ('Opción 2', accion2),
        '3': ('Opción 3', accion3),
        '4': ('Salir', salir)
    }
 
    generar_menu(opciones, '4')
 
 
def accion1():
    print('Has elegido la opción 1')
 
 
def accion2():
    print('Has elegido la opción 2')
 
 
def accion3():
    print('Has elegido la opción 3')
 
 
def salir():
    print('Saliendo')
 
 
if __name__ == '__main__':
    menu_principal()
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 Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Duda sobre f-strings

Publicado por Francisco Javier (313 intervenciones) el 05/03/2023 11:29:21
Se refiere al primer elemento de la tupla que és el valor de la clave. Por ejemplo si tienes el diccionario:
1
2
3
4
5
6
opciones = {
        '1': ('Opción 1', accion1),
        '2': ('Opción 2', accion2),
        '3': ('Opción 3', accion3),
        '4': ('Salir', salir)
    }

y quisieras acceder a accion1 de la tupla de la clave 1 sería:

1
opciones['1'][1]

en el caso de poner [] accede a la Opcion de la clave que pongas o la primera posicion de la tupla
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
Imágen de perfil de Román

Duda sobre f-strings

Publicado por Román (8 intervenciones) el 05/03/2023 16:37:36
Muchas gracias por tu opinión, Francisco.

Con respecto a la posición en la tupla: ¿cuál sería el beneficio de ordenar las opciones en el bucle for, como aparece en for clave in sorted(opciones), si en el print se coloca la posición [0] como primera posición a imprimir en dicho bucle?

1
2
3
4
def mostrar_menu(opciones):
    print('Seleccione una opción:')
    for clave in sorted(opciones):
        print(f' {clave}) {opciones[clave][0]}')
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

Duda sobre f-strings

Publicado por Costero (92 intervenciones) el 08/03/2023 04:17:17
Quitale el sorted y cambia el codigo como abajo y veras. Ponle el sorted is vuelve a correr

1
2
3
4
5
6
7
def menu_principal():
    opciones = {
        '2': ('Opción 2', accion2),
        '4': ('Salir', salir),
        '1': ('Opción 1', accion1),
        '3': ('Opción 3', accion3),
    }
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 Román

Duda sobre f-strings

Publicado por Román (8 intervenciones) el 09/03/2023 19:02:35
Comprendo. Muchas gracias por tu explicación.
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
Imágen de perfil de Román

Duda sobre f-strings

Publicado por Román (8 intervenciones) el 09/03/2023 19:03:16
Entiendo. Muchas gracias por tu explicación.
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