Python - En vez de imprimir lo que puse dentro de print me arroja un codigo de error

 
Vista:
Imágen de perfil de Gabriel

En vez de imprimir lo que puse dentro de print me arroja un codigo de error

Publicado por Gabriel (1 intervención) el 21/07/2022 20:35:49
Estoy creando un pequeño programa que me almacena notas. Cuando selecciono la opción de abrir listado de notas, me dice que tengo dos notas disponibles. Pero cuando selecciono alguna nota para que me la muestre, en vez de poner en pantalla lo que deberían decir las notas, me pone en pantalla un codigo de error


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
def nota1(texto):
    nota1 = print("Esta es la nota 1")
 
def nota2(texto):
    nota2 = print("Esta es la nota 2")
 
 
eleccion = 0
 
while eleccion !=5:
    print("""Indique la operación a realizar:
      1) Abrir listado de notas
      2) salir
""")
 
    eleccion = int(input() )
 
    if eleccion == 1:
        while eleccion !=3:
            print("""notas disponibles:
                  1) nota1
                  2) nota2
                  """)
 
            eleccion2 = int(input() )
 
            if eleccion2 == 1:
                print("Abriendo nota1:",nota1)
            elif eleccion2 == 2:
                print("Abriendo nota2:",nota2)

Deje un archivo adjunto que muestra lo que arroja la consola
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

En vez de imprimir lo que puse dentro de print me arroja un codigo de error

Publicado por Santos (4 intervenciones) el 21/07/2022 22:06:48
1
2
3
4
5
6
7
if eleccion2 == 1:
 
                print("Abriendo nota1:",nota1)
 
            elif eleccion2 == 2:
 
                print("Abriendo nota2:",nota2)

Aquí estas llamando a las funciones nota1, nota2, pero ten en cuenta que esas funciones reciben un parámetro que no se lo estás pasando,

1
2
3
4
5
6
7
8
def nota1():
 
    return "Esta es la nota 1"
 
 
def nota2():
 
    return "Esta es la nota 2"

Así lo lógico es que si no necesitas pasar un parámetro no lo incluyas. En vez del print, usa Return que devuelve el mensaje que supongo que es lo que estás tratando de hacer.

Un saludo
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