Autor
|
Tema: [Python] Prolijidad de éste script (Leído 2,168 veces)
|
Geormarsch
Desconectado
Mensajes: 160
|
Una vez más aquí, para preguntar por python. Resulta que leí más como toooodos me mencionaron cambié la variable "str" por fzr. quedan muchas consultas en mí cabeza - Por qué al importar "os" y anteponer os.system("clear") me arroja un error. - El uso del if, todavía no lo logro comprender. - Siento que el menú es muy disfuncional y podría tener errores. - Sé que siempre hay distintas formas de hacer una cosa, pero cuál sería la más correcta para lo que yo busco? Tengo los porcentajes configurados en cada variable, y me funciona bien, todos los valores son exactos, ya que sólo sería de números desde el 300 y el doble de cada número sucesivamente, por ende no tendré problemas con decimales ni nada de eso. ahora sólo me complica el menú. Espero que no se molesten, pero no logro comprender muchas cosas de las que leo. #!/usr/bin/env python # -*- coding: utf-8 -*- def funcion1(): print(' Stats Recomendados Soul Master') point = 0 print point = int(input(' Total de puntos: ')) frzPct = 2 agiPct = 40 vitPct = 8 enePct = 50 PctVal = 100 frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal print' Fuerza : ', frz print' Agilidad : ', agi print' Vitalidad: ', vit print' Energía : ', ene print print' Por Jorge Martini 2016' input() def funcion2(): print(' Stats Recomendados Blade Knight') point = 0 print point = int(input(' Total de puntos: ')) frzPct = 40 agiPct = 30 vitPct = 10 enePct = 20 PctVal = 100 frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal print' Fuerza : ', frz print' Agilidad : ', agi print' Vitalidad: ', vit print' Energía : ', ene print print' Por Jorge Martini 2016' input() def funcion3(): print(' Stats Recomendados Muse Elf(Agilidad)') point = 0 print point = int(input(' Total de puntos: ')) frzPct = 24 agiPct = 64 vitPct = 10 enePct = 2 PctVal = 100 frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal print' Fuerza : ', frz print' Agilidad : ', agi print' Vitalidad: ', vit print' Energía : ', ene print print' Por Jorge Martini 2016' input() def funcion4(): print(' Stats Recomendados Dark Lord') point = 0 print point = int(input(' Total de puntos: ')) frzPct = 7 agiPct = 20 vitPct = 3 enePct = 20 comPct = 50 PctVal = 100 frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal com = (point * comPct) / PctVal print' Fuerza : ', frz print' Agilidad : ', agi print' Vitalidad: ', vit print' Energía : ', ene print' Comando : ', com print print' Por Jorge Martini 2016' input() def funcion5(): print(' Stats Recomendados Magic Gladiator(Balanceado)') point = 0 print point = int(input(' Total de puntos: ')) frzPct = 30 agiPct = 30 vitPct = 10 enePct = 30 PctVal = 100 frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal print' Fuerza : ', frz print' Agilidad : ', agi print' Vitalidad: ', vit print' Energía : ', ene print print' Por Jorge Martini 2016' input() print print ' Bienvenidos a Stats Recomendados' print ' Mu Wolf S2' print print ' [1] Soul Master' print ' [2] Blade Knight' print ' [3] Muse Elf' print ' [4] Dark Lord' print ' [5] Magic Gladiator' print print print ' Sólo ingresar números!!!' pj = input(' Seleccionar personaje: ') print print if pj == 1: funcion1() if pj == 2: funcion2() if pj == 3: funcion3() if pj == 4: funcion4() if pj == 5: funcion5() if pj > 5: print ' Debes ingresar un número valido.'
|
|
|
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"
|
|
|
engel lex
|
os.system es equivalente a escribir un comando en la consola, si estás en windows "clear" no es un comando valido, eso es en linux y mac, usarías "cls" (creo) el es "si" se cumple una condición if pj == 1: funcion1()
sería si pj es igual a 1: funcion1()
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Geormarsch
Desconectado
Mensajes: 160
|
Estoy en linux, en bash para limpiar la consola es clear, y esa parte del if si la entendí, lo que no comprendo es como hacer cuando se escriba un texto volver al menu, algo como el uso del else, probé pero nada 😔
|
|
|
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 puedo decirte sobre "clear" porque no uso linux, en cuanto al menú para que se repita debes aprender soble bucles y para ello sobre while, en cuanto a saber si escriben letras o números existe la función isdigit, ya tenés más para buscar y leer. edito: no entiendo que querés hacer pero estaba aburrido y modifiqué apenas tu código porque escribiste una chorrada de funciones que hacen basicamente lo mismo, así que las resumí para que veas como ahorrar código, obvio que faltan cosas y sobran otras, es solo a modo orientativo: #-*- coding: utf -8 -*- def caracteristicas(frzPct,agiPct,vitPct,enePct,comPct=0): point=0 PctVal = 100 point = int(eval(input(' Total de puntos: '))) frz = (point * frzPct) / PctVal agi = (point * agiPct) / PctVal vit = (point * vitPct) / PctVal ene = (point * enePct) / PctVal com = (point * comPct) / PctVal print(' Fuerza : ', frz) print(' Agilidad : ', agi) print(' Vitalidad: ', vit) print(' Energía : ', ene) if comPct != 0: print(' Comando : ', com) print() print(' Por Jorge Martini 2016') print() print(''' Bienvenidos a Stats Recomendados' Mu Wolf S2') [1] Soul Master [2] Blade Knight [3] Muse Elf [4] Dark Lord [5] Magic Gladiator Sólo ingresar números!!!''') pj = int(input(' Seleccionar personaje: ')) print() print() if pj == 1: print(' Stats Recomendados Soul Master') caracteristicas(2,40,8,50) elif pj == 2: print(' Stats Recomendados Blade Knight') caracteristicas(40,30,10,20) elif pj == 3: print(' Stats Recomendados Muse Elf(Agilidad)') caracteristicas(24,64,10,2) elif pj == 4: print(' Stats Recomendados Dark Lord') caracteristicas(7,20,3,20,50) elif pj == 5: print(' Stats Recomendados Magic Gladiator(Balanceado)') caracteristicas(30,30,10,30) else: print("ingrese un número válido")
|
|
« Última modificación: 21 Octubre 2016, 10:05 am por tincopasan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] Little Script Codepad
Scripting
|
The Swash
|
0
|
2,050
|
2 Noviembre 2011, 03:35 am
por The Swash
|
|
|
Ayuda con script python
Scripting
|
Xenomorfo77
|
5
|
3,678
|
4 Mayo 2012, 02:13 am
por Xenomorfo77
|
|
|
Script en Python [Duda]
Scripting
|
michelmarques
|
2
|
2,184
|
14 Julio 2012, 22:39 pm
por michelmarques
|
|
|
[python] Script FTP
Scripting
|
flacc
|
0
|
3,382
|
16 Agosto 2012, 22:37 pm
por flacc
|
|
|
¿En donde puedo alojar un script de python para que este se ejecute?
Scripting
|
emperie
|
1
|
8,524
|
25 Enero 2023, 01:06 am
por Danielㅤ
|
|