consigo que pregunte el valor x que quiero establecer pero al establecerlo salta el error:
File "/home/tadas/Desktop/ensayos/apap.py", line 4, in <module>
mashoras = ahora + timedelta(hours=x)
TypeError: unsupported type for timedelta hours component: str
ayuda a un novato de 16 años en la programacion con python
gracias de antemano
que es x?
el error lo que dice es que no soporta el tipo str como valor x para timedelta
x es cualquier numero por ejemplo el 45
(y una pregunta tonta ¿que es el tipo str?(hace dos meses que empece con python))
si pongo en vez de x el numero 45 me sale todo correctamente
entonces mi pregunta seria:
¿ como hacer que te pregunte que numero sumar y lo sume (el momento en el que me salta el error)?
gracias por responder
str = string (cadenas de letas, texto)
por
Citarque es x?
me referia a: muestrame exactamente en tu codigo donde le asignas valor a x cuando falla
El tipo (str) es una cadena de caracteres como "hola". Los strings (str) van delimitados por comillas simples o dobles. (Deberías saber que es un string si llevas 2 meses con python)
Cita de: tadas en 14 Diciembre 2016, 17:58 PM
¿ como hacer que te pregunte que numero sumar y lo sume (el momento en el que me salta el error)?
Puedes usar input (en python 3x) o raw input (en 2.x) para recibir entradas del usuario y poder interactuar con ellas. Puedes asignar una variable con un input, por ejemplo:
nombre = input("Cual es tu nombre?")
Esto asignara la variable nombre a la entrada del usuario cuando tu le preguntaste cual era su nombre.
Saludos!
from datetime import datetime, date, time, timedelta
ahora = datetime.now()
x=input ("cuantas horas?")
mashoras = ahora + timedelta(hours=x)
cadena1 = mashoras.strftime("%A %B %d %H:%M:%S %Y" )
print("Hora calculada:", cadena1)
me pregunta x y me salta el error
P.D:uso python 3.4.2
Gracias por la atencion
documentación oficial
https://docs.python.org/3/library/functions.html#input (https://docs.python.org/3/library/functions.html#input)
CitarThe function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that
La función leer una linea desde el input, la convierte en texto (quitando el salto de linea final) y retorna eso
debes reconvertirlo en entero usando la funcion int()
x=int(input ("cuantas horas?"))
muchisimas gracias engel lex llevo buscandolo una semana
repito muchas gracias :)