| 
	
		|  Autor | Tema: [Python] Especie de 'Menú' para un Script  (Leído 3,269 veces) |  
	| 
			| 
					
						| Geormarsch 
								
								 Desconectado 
								Mensajes: 160
								
								   | 
 
Bueno, como algunos me recomendaron, me fuí por otro lenguaje y decidí Python. Me demoré 10 minutos en hacer éste pseudo script y entenderlo. point = 0print print (' Stats recomendados para Soul Master, Mu Season 2')printpoint = input(' Total de puntos: ')  #Porcentaje respectivo para cada statsstrPct = 2agiPct = 40vitPct = 8enePct = 50 PctVal = 100 #Operacion matematicastr = ( point * strPct ) / PctValagi = ( point * agiPct ) / PctValvit = ( point * vitPct ) / PctValene = ( point * enePct ) / PctVal #Imprimir Stats recomendadosprint ' Fuerza   : ', strprint ' Agilidad : ', agiprint ' Vitalidad: ', vitprint ' Energia  : ', ene
 Mí consulta es la siguiente, cómo puedo hacer una especie de Menú, ya que ahora estos stats son recomendados para un personaje, cómo podría hacerlo para que al elegir un número me dirija a otra sección, como un goto en Batch. Mí segunda consulta, cómo se aplica el if en éste caso? me refiero si se introduce 0 ó una letra, se aplique otro "goto"  PD: Leí en internet, pero no lo entiendo... PD2: Uso python3
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 "Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados" |  |  |  | 
			| 
					
						| tincopasan 
								       
								
								 Desconectado 
								Mensajes: 1.286
								 
								No es lo mismo conocer el camino que recorrerlo.
								
								
								
								
								
								   | 
 
no pienses en python como bat, no existe goto por ejemplo, ya que es una pésima práctica de programación. en el código que pusiste: point = input(' Total de puntos: ')
 al querer aplicarlo acá: str = ( point * strPct ) / PctVal
 te va a dar un error, ya que necesitas un entero y no una cadena, pordría ser así: point = int(input(' Total de puntos: ')) 
 lo del menú ni entendí con que lo querés hacer. buscá sobre el uso y declaraciones de  funciones para lo que le decis o esperas por goto el if es para aplicar una comparación, tampoco entiendo donde realizas una. si llevás 10 minutos, bueno tomate una hora más.
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Geormarsch 
								
								 Desconectado 
								Mensajes: 160
								
								   | 
 
no pienses en python como bat, no existe goto por ejemplo, ya que es una pésima práctica de programación. en el código que pusiste: point = input(' Total de puntos: ')
 al querer aplicarlo acá: str = ( point * strPct ) / PctVal
 te va a dar un error, ya que necesitas un entero y no una cadena, pordría ser así: point = int(input(' Total de puntos: ')) 
 lo del menú ni entendí con que lo querés hacer. buscá sobre el uso y declaraciones de  funciones para lo que le decis o esperas por goto el if es para aplicar una comparación, tampoco entiendo donde realizas una. si llevás 10 minutos, bueno tomate una hora más.print ' Selecciona el numero del personaje'print ' 1. Mago'print ' 2. Gladiador'pj = input() 
 Me refiero a algo así, la verdad es que comparé los dos lenguajes, por que informaticamente hablando no sé como se le llama al "goto". Cómo podría tomar el resultado de la variable "pj" y si es 1 derivarlo a la sección que adjunte el código y si es 2 por ejemplo que me derive a otra sección ya que los porcentajes para el Gladiador cambiarían, la verdad es que no sé si me estoy explicando lo suficientemente bien. no pretendo que me realicen el código, ya que para el Gladiador sólo debería cambiar las variables ya definidas, pero para eso necesito tener dos secciones, una para cuando escojan Mago y otra para el Gladiador, eso es lo que no he encontrado. Gracias, saludos.  |  
						| 
								|  |  
								|  |  En línea | 
 
 "Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados" |  |  |  | 
			| 
					
						| PUAROT | 
 
Creo que antes de adentrarte en intentar crear algo deberías leer algo (básico ) del lenguaje que has elegido.  Python es fácil de leer y entender, pero te aconsejo que te leas algún manual básico o veas algunos tutoriales para entender como funciona a nivel básico. Como por ejemplo las palabras mas básicas reservadas al lenguaje de programación, no deberías asignar str como una variable, ya que es la forma de asignar a un valor que es un string o int para asignar que es un integer ....  Respecto a tu pregunta deberias mirarte el uso de if else ... y de como definir funciones  Un ejemplo sencillo seria: def funcion1():print("Has elegido el Mago")
 
 def funcion2():
 print("Has elegido el gladiador")
 
 print("Selecciona 1 para Mago")
 print("Selecciona 2 para gladiador")
 pj = input("Que gerrero eliges?")
 
 if pj == "1":
 funcion1()
 elif pj =="2":
 funcion2()
 else:
 print("respuesta incorrecta")
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| tincopasan 
								       
								
								 Desconectado 
								Mensajes: 1.286
								 
								No es lo mismo conocer el camino que recorrerlo.
								
								
								
								
								
								   | 
 
lo bueno que tiene python es que permite muchas formas de hacer una cosa, por ejemplo esta: #-*- coding: utf-8 -*-import sys,osclass Personajes:    def __init__(self):        self.elecciones= {        "1":self.mago,        "2":self.gladiador,        "3":self.salir         }     def mostrar_menu(self):        print("""         [1] Mago        [2] Gladiador        [3] Salir        """)     def ejecutar(self):        while True:            self.mostrar_menu()            eleccion= input("elige una opción: ")            accion = self.elecciones.get(eleccion)            if accion:                accion()            else:                print("{} no es una elección válida".format(eleccion))     def mago(self):        os.system("cls")        print("Acá va todo lo del mago")     def gladiador(self):        os.system("cls")        print("Acá va todo lo del gladiador")     def salir(self):        os.system("cls")        msg=" Programa terminado "        print(msg.center(28,"*"))        os.system("pause")        sys.exit(0)  inicio=Personajes()inicio.ejecutar() 
 Bien, de forma irónica te lo dije antes y ahora más educadamente PUAROT, lee más sobre todo lo básico de Python antes de querer hacer algo complejo, sobre todo si solo usas bat que no es ni parecido ni le llega a los talones en cuanto a funcionalidad. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Script para extraer datos de bsqli en python Nivel Web
 | nacho87 | 0 | 3,278 |  2 Noviembre 2009, 21:09 pm por nacho87
 |  
						|   |   | Menu en python con otro menu dentro Scripting
 | AdeLax | 2 | 7,406 |  7 Octubre 2012, 21:46 pm por AdeLax
 |  
						|   |   | Problema en script para cifrar [Python] Scripting
 | nohate | 2 | 4,088 |  15 Julio 2013, 17:13 pm por nohate
 |  
						|   |   | script en python para explotar vulnerabilidad openssl Bugs y Exploits
 | roothelp | 0 | 3,430 |  9 Abril 2014, 22:36 pm por roothelp
 |  
						|   |   | Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios Python
 | Daor02 | 1 | 4,865 |  3 Julio 2016, 05:28 am por tincopasan
 |    |