Python - Duda sobre funciones con def()

 
Vista:
Imágen de perfil de Omar
Val: 12
Ha disminuido su posición en 8 puestos en Python (en relación al último mes)
Gráfica de Python

Duda sobre funciones con def()

Publicado por Omar (5 intervenciones) el 28/04/2017 19:24:59
Recien empiezo con python y realmente no se cual sea la mejor forma de organizar mis bloques, pero me encontre con esta palabra que creo que puede resolverme muchas cosas, realmente no se si la estoy usando bien, quise implementarla en un menu que tengo pensado para resolver matrices, pero quise simplificar todo en modulos y asi poder jugar con la forma del menu mas facil, este es mi codigo:
Otra cosa, vi algo sobre el comando "global" y creo que por ahi va la cosa no? en hacer publicas las variables de mis funciones para que las demas tambien tengan acceso.. voy bien?

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import numpy as np
import os
 
def gens_mat(x,y,F):
	global F
    x = int(input("Numero de Filas: "))
    y = int(input("Numero de Columnas: "))
    F = np.zeros((x,y),dtype=int)
    print(F)
    print("\n")
def cord_modificar(R_cor,R_cory):
 
    while R_cor == True:         #CICLO PARA FILTRAR NUMEROS GRANDES DE FILA
        x_cor = int(input("Cordenada en X:"))
        if x_cor >= x:
            print ("Exedes el numero de filas existentes")
        else:
            R_cor = False
 
    while R_cory == True:        #CICLO PARA FILTRAR NUMEROS GRANDES DE COLUMNA
        y_cor = int(input("Cordenada en Y:"))
        if y_cor >= y:
            print ("Exedes el numero de columnas existentes")
        else:
            R_cory = False
def valor_mat():
	#AQUI SE INGRESA EL VALOR NUEVO EN LAS CORDENADAS INTRODUCIDAS
    valor = int(input("Ingresa el nuevo valor:"))
    F[x_cor][y_cor]=valor
def prt_mat():
    print("\n")
    print(F)
    print("\n")
def new_value_exit():
    res = input("Deseas modificar otro valor?: s/n")
    if res == "s":
        R = True
        R_cor = True
        R_cory = True
    else:
        R = False
def exit_progrm():
    r_exit = input("Deseas salir? s/n")
    if r_exit == "s":
        R_E = False
    else:
        R_E = True
        R = True
        R_cor = True
        R_cory = True
 
 
 
R = True
R_E = True
R_cor = True
R_cory = True
 
while R_E == True:               #CICLO PARA SALIR
    gens_mat()
    while R == True:             #CICLO PARA SEGUIR MODIFICANDO MATRIZ
        os.system('cls')
        cord_modificar()
        os.system('cls')
        valor_mat()
        prt_mat()
        new_value_exit()
 
    exit_progrm()
 
exit()
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 Andres Leonardo
Val: 113
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Duda sobre funciones con def()

Publicado por Andres Leonardo (40 intervenciones) el 30/04/2017 18:17:00
Esta es un deber con menu y funciones espero te sirva
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
 ##Importo las Librerias
 
##Los procedimientos principales
import random
def PresentarMenu():
    print ("\n\n::  Deber  :: ")
    print ("****************")
    print ("Escoja la Opcion")
    print ("****************")
    print ("1- Lista Float Suma ")
    print ("2- Mayor Entre Dos Numeros")
    print ("3- Indicar Mes por Numero")
    print ("4- Es año Bisiesto")
    print ("5- Ordenar Lista Numeros")
    print ("6- Caracter y Veces")
    print ("7- Adivinar Numero")
    print ("8- Si es par")
    print ("0- SALIR")
    return
 
def IngresarNumeroEntero(msg):
    ne=int(input(msg))
    return ne
 
def IngresarNumeroFlotante(msg):
    N2=float(input(msg))
    return N2
 
def IngresarCaracter(msg):
    x=input(msg)
    return x
 
def PresentaMensaje(msg):
    print (msg)
    return
 
def ListaFloat():
    print ("**************************")
    print ("Suma de Elementos de Lista")
    print ("**************************")
    l=IngresarNumeroEntero("Favor Ingrese Long de Lista: ")
    lista = []
    t=0
    for x in range(int(l)):
         e=IngresarNumeroFlotante("Favor Ingrese un numero: ")
         lista.append (e)
         t = t + e
    print ("Esta es la lista de Numeros: ",lista)
    print ("El total de la suma es: " + str(t))
 
 
def MayorEntre2():
    print ("***********************")
    print ("Mayor Entre dos Numeros")
    print ("***********************")
    N1=IngresarNumeroEntero("Favor Ingrese un numero 1: ")
    N2=IngresarNumeroEntero("Favor Ingrese un numero 2: ")
    if N1>N2:
        print ("El mayor es " + str(N1))
    else:
        if N2>N1:
            print ("El mayor es " + str(N2))
        else:
            print ("Los numeros son Iguales")
 
def MesNumero():
    print ("***********************")
    print ("Mes Segun Numero ")
    print ("***********************")
    MESES = {1:'Enero', 2: 'Febrero', 3: 'Marzo', 4: 'Abril', 5: 'Mayo', 6: 'Junio'}
    MES=IngresarNumeroEntero("Ingrese Numero Mes: ")
    if MES in MESES :
       print( "El mes seleccionado es : " + MESES[MES])
    else:
       print ("Mes No Válido....")
 
def AnioBisiesto():
    print ("*******************************")
    print ("Verifica si un Año es Bisiesto ")
    print ("*******************************")
    a=IngresarNumeroEntero("Ingrese El AÑO [ > 1990]: ")
    if(a % 4 == 0 and a % 100 != 0 or a % 400 == 0):
     print("El año "+str(a)+" Si es bisiesto ")
    else:
     print("El año "+str(a)+" No es bisiesto ")
 
 
def ListaOrdenada():
    print ("****************************")
    print ("  .:: Ordenar una Lista ::. ")
    print ("****************************")
    l=IngresarNumeroEntero("Favor Ingrese Long de Lista: ")
    lista = []
    listaO = []
    t=0
    for x in range(int(l)):
         e=IngresarNumeroEntero("Favor Ingrese un numero: ")
         lista.append (e)
    listaO=sorted(lista)
    print ("La lista Ingresada es : " + str(lista))
    print ("La lista Ordenada es : " + str(listaO))
 
def CaracterVeces():
    print ("********************************")
    print ("Imprime Caracter Nuermo de Veces")
    print ("********************************")
    i=1
    n=IngresarNumeroEntero("Ingrese Numero de Veces: ")
    c=IngresarCaracter("Ingrese el Caracter: ")
    while i<=n:
        print(c)
        i=i+1
 
def AdivinaNumero(t):
    from random import randint
    print ("********************************")
    print (" .::Adivina el Numero Secreto::.")
    print ("********************************")
    i=randint(1, 20)
    if (t == 1):
        print(i)
    n=IngresarNumeroEntero("Ingrese el Numero Secreto: ")
    if (i == n):
        print("Acertaste el Numero Secreto es: " + str(i))
    else:
        print("No acertaste el Numero Secreto era: " + str(i) + " y tu digitaste: " + str(n))
 
 
def EsPar():
    print ("************************************")
    print ("Verifica si un Numero es par o impar")
    print ("************************************")
    n=IngresarNumeroEntero("Ingrese el Numero para verificar: ")
    if ((n % 2)==0):
        print("El numero " + str(n) + " Es Par"  )
    else:
        print("El numero " + str(n) + " Es Impar"  )
 
 
def ValidaOpcion(opc):
    if (opc == 1):
        ListaFloat()
    elif opc == 2:
        MayorEntre2()
    elif opc == 3:
        MesNumero()
    elif opc == 4:
        AnioBisiesto()
    elif opc == 5:
        ListaOrdenada()
    elif opc == 6:
        CaracterVeces()
    elif opc == 7:
        AdivinaNumero(1)
    elif opc == 8:
        EsPar()
    else:
        PresentaMensaje("Ha Elegido una Opcion Errada \n")
    return
 
##Deber01
s=0
while s == 0:
    PresentarMenu()
    O=IngresarNumeroEntero("Ingrese la Opcion Deseada: ")
    if (O == 0):
        print ("Programa terminado.....")
        s = 1
    else:
        ValidaOpcion(O)
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