|
Mostrar Temas
|
Páginas: [1] 2
|
1
|
Programación / Scripting / Python-Problemilla con archivos
|
en: 21 Marzo 2016, 17:16 pm
|
Mi problema es simple, pero no se a qué se debe: import os limpiar_pantalla = (os.system("cls")) archivo_lista = open("cofres.txt","r") # Cofres cofreM = "Codre de madera" cofreP = "Cofre de plata" cofreO = "Cofre de oro" cofreE = "Cofre mágico" # Cofres del tutorial limpiar_pantalla print("Tutorial".center(40,"-")) print cofres_tutorial = ( cofreM, cofreM, cofreM, cofreM +" (Epica asegurada)", cofreM, cofreM, cofreP ) u = 0 for elemento in cofres_tutorial: u+=1 print("0" +str(u) +"-" +elemento) # Comienza el ciclo print print("Ciclo".center(40,"-")) print p = 7 for linea in archivo_lista: p+=1 if linea == "cofreP": if p<10: print("0" +str(p) +"-" +cofreP) else: print(str(p) +"-" +cofreP) elif linea == "cofreO": if p<10: print("0" +str(p) +"-" +cofreO) else: print(str(p) +"-" +cofreO) elif linea == "cofreM": if p<10: print("0" +str(p) +"-" +cofreE) else: print(str(p) +"-" +cofreE)
En el último código, # Comienza el ciclo print print("Ciclo".center(40,"-")) print p = 7 for linea in archivo_lista: p+=1 if linea == "cofreP": if p<10: print("0" +str(p) +"-" +cofreP) else: print(str(p) +"-" +cofreP) elif linea == "cofreO": if p<10: print("0" +str(p) +"-" +cofreO) else: print(str(p) +"-" +cofreO) elif linea == "cofreM": if p<10: print("0" +str(p) +"-" +cofreE) else: print(str(p) +"-" +cofreE)
al importar los nombres del archivo, me imprime solamente la última fila, dando como resultado esto: ----------------Tutorial----------------
01-Cofre de madera 02-Cofre de madera 03-Cofre de madera 04-Cofre de madera (Epica asegurada) 05-Cofre de madera 06-Cofre de madera 07-Cofre de plata
----------------Ciclo----------------
15-Cofre de plata El archivo en el que tengo lo demás es este (simple); cofreP cofreP cofreO cofreP cofreP cofreO cofreP cofreP Agradecería ayuda
|
|
|
2
|
Programación / Scripting / Python - opiniones de mi script/ consejos
|
en: 7 Marzo 2016, 22:45 pm
|
Antes de nada soy nuevo en esto de lo de la programación, y decidí comenzar por Python, ya que dicen que es un lenguaje simple pero potente... Llevaré unas semanas intentando comprendender lo que trae el lenguaje, y con lo que se he hecho un pequeño script de inicio de sesión en el que puedes añadir/borrar sesiones (ese es un problemilla que tengo ya que no se cómo podría poner los administradores en un archivo aparte, para que se queden guardadas los nuevos usuarios metidos por el usuario, ya que como tengo el código ahora, cada vez que inicies el script tendrá los mismos usuarios , me gustaría una ayudita en esto), y quisiera compartirlo para que opinéis, digáis que fallos tengo, que añadiríais vosotros etc... Todo vale! Saludos! Ya que no me deja poner aqui el código lo pasé a cloud9 https://preview.c9users.io/biodude9456/sesion_inicio
|
|
|
3
|
Programación / Scripting / Python - Listas ayuda
|
en: 6 Marzo 2016, 00:11 am
|
Tengo este código; #!/usr/bin/env python # -*- coding: utf-8 -*- from time import sleep administradores = ["patata","justin"] contraseñas = ["777","charizard"] start_admin = False def login(): sesion=input("Nombre de usuario: ") seguir = True while seguir: if sesion.lower()=="invitado": print("Has iniciado sesion como invitado.") seguir = False # Termina el while externo elif sesion.lower() in administradores: seguir = False seguir2 = True while seguir2: password = input("Contraseña: ") if password in contraseñas: print("Has iniciado sesion como administrador.") print() seguir2 = False global start_admin start_admin = True sleep(0.5) continue
Y me gustaría saber cómo podría identificar la posición en la que esta el usuario que el usuario escriba (valga la redundancia), para que luego sepa de que posición tengo que cojer la contraseña, no se si me explico, un saludo!
|
|
|
4
|
Programación / Scripting / [SOLUCIONADO] Python - Si elemento está en la lista...
|
en: 5 Marzo 2016, 20:04 pm
|
Buenas, mi duda es sencilla de explicar; administradores = ["patata","picaporte"] contraseñas = ["777","azul11"] start_admin = False def login(): sesion=input("Nombre de usuario: ") seguir = True while seguir: if sesion.lower()=="invitado": print("Has iniciado sesion como invitado.") seguir = False # Termina el while externo elif sesion.lower()=="patata": seguir = False seguir2 = True
En la parte " elif sesión.líder()=="patata"" " cómo podría hacer, si al escribirlo, y si mi lista contiene eso que pase? No consigo encontrarlo por ningún lado :/ Muchísimas gracias de antemano.
|
|
|
5
|
Programación / Scripting / [SOLUCIONADO] Python - ¿Por qué este error? No consigo entenderlo :(
|
en: 2 Marzo 2016, 19:43 pm
|
def login(): sesion = input("Nombre de usuario: ") seguir = True while seguir: if sesion.lower()=="invitado": print("Has iniciado sesion como invitado.") seguir = False # Termina el while externo elif sesion.lower()=="patata": seguir = False seguir2 = True while seguir2: #bucle infinito hasta que password == "100azul100". password = input("Contrasena: ") if password=="777": print("Has iniciado sesion como administrador.") seguir2 = False # Termina el while interno start.admin = True continue elif sesion.lower()!="patata"or" invitado": login() login() while start.admin: # me marca que no existe el start.admin print() print("1-Añadir o eliminar usuarios") #...
Nombre de usuario: patata Contrasena: 777 Has iniciado sesion como administrador. Traceback (most recent call last): File "/storage/emulated/0/com.hipipal.qpyplus/scripts3/.last_tmp.py", line 21, in <module> login() File "/storage/emulated/0/com.hipipal.qpyplus/scripts3/.last_tmp.py", line 16, in login start.admin = True NameError: global name 'start' is not defined No entiendo, por qué no está definido
|
|
|
6
|
Programación / Scripting / [SOLUCIONADO] Python-Cómo cambiar palabra almaceneada a minúscula?
|
en: 1 Marzo 2016, 20:42 pm
|
Estoy experimentando de poco en poco en python y pues he querido transformar una palabra que el usuario inserta a todo minúscula, creo que tengo que usar .lower pero no consigo hacer que funcione, el código; def contra1(): password = raw_input("Contrasena: ") if password=="allahuakbar": print("Has iniciado sesion como administrador.") else: contra1() def usuario(): sesion = raw_input("Nombre de usuario: ") sesion.lower() if sesion=="invitado": print("Has iniciado sesion como invitado.") elif sesion=="hakuna matata": contra1() else: usuario() #Inicio usuario()
quiero que la variable sesion se cambie a minúscula, e igul con la password, pero tiene número asi que no se cómo hacerlo
|
|
|
7
|
Programación / Scripting / [SOLUCIONADO] Python - De str a int (ayuda)
|
en: 28 Febrero 2016, 00:07 am
|
Vaya vaya, estoy que no paro con las preguntitas hoy jaja from time import sleep import sys name = input("Di tu nombre: ") while not (name.isalpha()): name = input("Pon tu nombre... ") sleep(0.4) print("Hola bebesss") sleep(0.8) print("Perdón, quería decir "+ name.title()+ " :(") sleep(1.5) seguir = "true" while seguir: number1 = input(" Di el numero a multiplicar: ") while not (number1.isdigit()): number1 = input("He dicho número: ") if (number1.isdigit()): float(number1) continue number2 = input(" Di cuantas veces quieres multiplicarlo: ") while not (number2.isdigit()): number2 = input("He dicho número: ") if (number2.isdigit()): float(number2) continue i = 0 while (i< number2): i+=1 number3 = number1*i print(str(number1)+" * "+str(i)+" = "+str(number3)) if (number3%2==0): print(" Es un número par!") else: print(" Es un número impar!") sleep(0.6) answer = input("Desea continuar? o prefiere salir? ") if answer=="continuar": seguir = "true" continue else: seguir = "false" sys.exit("Que tenga un buen día.")
Este es el código entero. number1 = input(" Di el numero a multiplicar: ") while not (number1.isdigit()): number1 = input("He dicho número: ") if (number1.isdigit()): float(number1) continue
En esta parte, si pongo una letra, pasa a la de abajo, y en la de abajo si pongo el número bien, ese numero se guarda en str, y eso hace que luego no puedo hacer i<number2 ni cosas parecidas. He buscado pero ninguna solución. ¿Cómo podría convertirlo? Editado: No se lo que he dicho arriba, me estoy liando yo solo*
|
|
|
8
|
Programación / Scripting / [SOLUCIONADO]Python - ¿Cómo volver a una linea específica?
|
en: 27 Febrero 2016, 21:34 pm
|
Pues mi pregunta es cómo podría volver a una línea de código especifica, con un especie de restart. from time import sleep name = input("Di tu nombre: ") while not (name.isalpha()): name = input("Pon tu nombre...") sleep(1) print("Hola bebesss") sleep(0.5) print("Perdón, quería decir "+ name.title()+ " :(") sleep(0.5) number1 = float(input(" Di el numero a multiplicar: ")) number2 = float(input(" Di cuantas veces quieres multiplicarlo: ")) i = 0 while (i< number2): i+=1 number3 = number1*i print(str(number1)+" * "+str(i)+" = "+str(number3)) if (number3%2==0): print(" Es un número par!") else: print(" Es un número impar!") sleep(0.6) final = input("Escribe 'exit' para salir, o escribe 'restart' para volver a empezar: ") if (final==exit): sys.exit() else:
Ese es el código en el que lo quiero implementar, desde el último else if (final==exit): sys.exit() else:
Quiero que vuelva a number1 = float(input(" Di el numero a multiplicar: ")) number2 = float(input(" Di cuantas veces quieres multiplicarlo: "))
Gracias de antemano esta vez no dejé nada sin especificar
|
|
|
9
|
Programación / Scripting / [SOLUCIONADO]Detectar si en un input escribes letras o números (ayuda)
|
en: 27 Febrero 2016, 01:04 am
|
Pues eso mismo, que no se como podría hacerlo he intentado con un bucle while pero no lo consigo. Ayuda from time import sleep
name = input("Di tu nombre: ") while name in range(-7777,7777,1): name = input(" He dicho que digas tu nombre!!") return sleep(1) print("Hola bebesss") sleep(0.5) print("Perdón, quería decir "+ name+ " :(") number1 = float(input(" Di el numero a multiplicar: ")) number2 = float(input(" Di cuantas veces quieres multiplicarlo: "))
i = 0
while (i< number2): i+=1 print(str(number1)+" * "+str(i)+" = "+ str(number1*i))
|
|
|
10
|
Programación / Scripting / Ayuda programación python
|
en: 18 Febrero 2016, 00:27 am
|
Qué es lo que falla aquí? Me dice que float y str son incompatibles nombre = raw_input("Dame tu nombre:") print("Ola k ase "+nombre) numero_a_multiplicar = (input("Di el numero que quieres multiplicar: ")) numero_multiplicar = (input("Di el numero con el que quieres multiplicar: ")) i = 0 while i < numero_multiplicar: i=i+1 patata = numero_a_multiplicar * i print(numero_a_multiplicar +" + " +numero_multiplicar +" = " +patata)
|
|
|
|
|
|
|