Autor
|
Tema: [Python] Especie de 'Menú' para un Script (Leído 2,595 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 = 0 print print (' Stats recomendados para Soul Master, Mu Season 2') print point = input(' Total de puntos: ') #Porcentaje respectivo para cada stats strPct = 2 agiPct = 40 vitPct = 8 enePct = 50 PctVal = 100 #Operacion matematica str = ( point * strPct ) / PctVal agi = ( point * agiPct ) / PctVal vit = ( point * vitPct ) / PctVal ene = ( point * enePct ) / PctVal #Imprimir Stats recomendados print ' Fuerza : ', str print ' Agilidad : ', agi print ' Vitalidad: ', vit print ' 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,os class 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,051
|
2 Noviembre 2009, 21:09 pm
por nacho87
|
|
|
Menu en python con otro menu dentro
Scripting
|
AdeLax
|
2
|
7,019
|
7 Octubre 2012, 21:46 pm
por AdeLax
|
|
|
Problema en script para cifrar [Python]
Scripting
|
nohate
|
2
|
3,689
|
15 Julio 2013, 17:13 pm
por nohate
|
|
|
script en python para explotar vulnerabilidad openssl
Bugs y Exploits
|
roothelp
|
0
|
3,258
|
9 Abril 2014, 22:36 pm
por roothelp
|
|
|
Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios
Python
|
Daor02
|
1
|
4,081
|
3 Julio 2016, 05:28 am
por tincopasan
|
|