|
52
|
Programación / Scripting / Re: Error TKINTER: _tkinter.TclError: image "pyimage2" doesn't exist
|
en: 30 Enero 2021, 03:02 am
|
la verdad es que no entiendo nada de tu lógica al crear la clase pero: from cla import MiApp MiApp() #que se supone que es esto, sacalo y probá if __name__ == '__main__': ejemplo = MiApp() ejemplo.mainloop()
otra cosa, cuando pongas un ejemplo incluí las importaciones, el que lee no tiene porque adivinar que además de tkinter(vaya a saber como lo estás llamando) hay que usar pillow. Tampoco entiendo el porque combinas place y pack, en fin, fijate si comentando "#,"lo que te dije da el mismo error.
|
|
|
54
|
Programación / Scripting / Re: Ayuda urgente con problema en python
|
en: 29 Enero 2021, 01:33 am
|
no iba a responder, porque me molesta lo de "urgente", no sé pòrque el foro debería ser ayuda para tareas Y encima con apuros, en fin, como te han ayudado te diré que hay muchas formas de hacerlo, ahora siguiendo tu lógica, no funcionará ni a palos, agrega 50 hs y fijate que pasa, además hay tantas declaraciones inentendible que ni hablar, pero una forma sin uso de bibliotecas sería: hour = int(input('Enter an hour between 1 and 12: ')) ampm = int(input('am (1) or pm (2)? ')) if ampm == 1: ampm ='am' else: ampm = 'pm' future = int(input('how many hours ahead?: ')) m = hour + future tiempo ,hora_nueva= divmod(m,12) if tiempo %2 == 1: if ampm == 'am': ampm = 'pm' elif ampm == 'pm': ampm = 'am' print(f'La nueva hora es: {hora_nueva} {ampm}')
al parecer no fui el unico al que le exploto la cabeza .-. esta huevada no le puede explotar la cabeza a nadie Edit: pegue otro código que también pedían en el foro y también respondí.
|
|
|
55
|
Programación / Programación General / Re: Calcular la suma de los N primeros números elevados al valor P con Python
|
en: 28 Enero 2021, 20:32 pm
|
hay varias formas de resolver esto, siguiendo parte de tu lógica: #-*- coding: utf -8 -*- num1 = int(input('Introduce el primer número: ')) num2 = int(input('Introduce el segundo número: ')) sum = 0 for x in range(1,num1 + 1): sum += x ** num2 print(f'{x} elevado a {num2} es {x**num2}') print('la suma total es: ',sum)
obviamente que está muy incompleto ya que entre otras cosas no tiene manejo de errores tampoco entendí porque como float en vez de int y como ves para realizar una operación varias veces se usa un bucle, en este caso for, pero también podría ser while cambié tu formato de cadena por uno más legible para mí. Otra cosa, hay un foro de script
|
|
|
56
|
Programación / Scripting / Re: Ayuda con Ficheros
|
en: 20 Enero 2021, 05:37 am
|
vaya, varias cosas: datos = {} nombre_apellido = input("Ingrese el nombre y el apellido: ") numero = int(input("Ingrese el numero del estudiante: ")) materia = input("Ingrese la materia: ") nota = input("Ingrese la nota: ") datos["nombre_apellido"] = nombre_apellido datos["numero"] = numero datos["materia"] = materia datos["nota"] = nota
no tiene sentido usar los datos de esa forma, está generando claves por cada item, lo cual generará problemas si los valores se repiten en otros alumnos. Lo ideal es generar una clave única, que puede ser el número de alumno y como valores los datos: diccionario={} def cargar_alumno(): numero = len(diccionario) + 1 #se genera autoincremental, por lo tanto no se repetirá nombre_apellido = input("Ingrese el nombre y el apellido: ") materia = input("Ingrese la materia: ") nota = input("Ingrese la nota: ") diccionario[numero]=[nombre_apellido,materia,nota] #al estar todos en una lista después es muy simple ver los datos completos de cada alumno, aunque haya datos iguales, los números, osea las claves son únicas cargar_alumno()
por otro lado, al diccionario como tal no lo podés guardar en un archivo, lo cual genera que cada vez que inicies el script el diccionario estará vacío. tu planteo inicial y esta solución están muy incompletas, ahora si es solo para cada ejecución con el diccionario bien estructurado sobra.
|
|
|
57
|
Programación / Scripting / Re: Ayuda con Ficheros
|
en: 20 Enero 2021, 00:39 am
|
una forma de leer cada línea sería: def leer_archivo(): with open('estudiantes.txt') as archivo: for linea in archivo: print(linea)
ahora, en lo pèrsonal creo que tenés muchas cosas de más y tampoco entiendo porque guaradar los datos como listas.
|
|
|
58
|
Programación / Scripting / Re: [Python] Pasar de str a int?
|
en: 18 Enero 2021, 04:57 am
|
viendo el link y la explicación: print("Comienzo") for _ in [0, 1, 2]: print("Hola ", end="") print() print("Final")
si te fijas usa el _ solo para no poner un nombre específico a la variable y aque no la usa, pero si quisiera también podría hacerlo, no deja de ser una referencia: print("Comienzo") for _ in [0, 1, 2]: print(_, end="") print() print("Final") y no es que no se pueda o deba usar, es una convención para ecribir menos en este caso
|
|
|
59
|
Programación / Scripting / Re: [Python] Pasar de str a int?
|
en: 18 Enero 2021, 03:54 am
|
Para que sirve el *args y args osea,tengo entendido que cuándo se pone *args es para pasar una cantidad buena de parámetros,pero y el otro?? El args cambia en algo? tratá de leer todas las respuestas, *args se utiliza para pasar una cantidad desconocida de argumentos en una lista o una tupla, puede ser uno o "una buena cantidad" args sin * es solo el nombre del argumento, podría ser pepito y es lo mismo "resultado_" le agregaste el guión,si mal me equivoco el guión (_) es para cuándo la variable no se vuelve a usar dentro del for, me gustaría saber en que manual leiste eso, en este caso como en muchos otros, cuando se usa al final de la variable, es solo para cambiar la referencia al objeto, en este caso resultado es un objeto referencia a enteros y resultado_ es otro objeto que hace referencia a cadenas que es lo que contiene la lista a
|
|
|
|
|
|
|