[ Foro de Python ]

Ayuda(soy novato)

26-Feb-2023 15:52
Invitado (GIA)
4 Respuestas

Hola he escrito este código :

nombre = input(“como te llamas: ”)
apellido = input(“cuál es tu apellido: ”)
edad = input(“que edad tienes: ”)
fecha = input(“en que mes terminas la escuela: ”)

print(“Un gusto! ”, nombre, apellido)

if fecha == “enero, febrero, marzo, abril, mayo, junio”:
    print(“Tendrás vacaciones en julio y agosto”)

else:
    print(“Tendrás una semana de vacaciones en diciembre”)


Como pueden ver y entender quiero que cuando escriba
Entre los meses de enero a junio me de vacaciones en julio y agosto
Y cuando escriba otro mes que no sea ninguno de esos
Me de una semana de vacaciones en diciembre,
Gracias
Un saludo


01-Mar-2023 11:34
Invitado (pepe)

hola gia

lo primero tendrías que crear dos tuplas o listas con los meses que dan un
resultado y los que dan el otro,

luego cuando recibes el mes, tienes que dejarlo en minúsculas, mayúsculas,
o como tengas en la tupla y también quitarle los espacios sobrantes si los hubiese

ahora ya puedes comparar el mes con una tupla primero y si no cumple, con la
otra, dando el mesaje correspondiente

también debes que tener en cuenta que lo que envie puede ser un mes mal
escrito o una cadena cualquiera, así deberías mostrar un menaje de error o
que repita la entrada del mes

para comparar en el if, no uses == porque el mes no es igual a una lista de
meses, deberías preguntar si el mes está en la lista con el keyword 'in'

suerte ;-)


01-Mar-2023 21:50
Invitado (Luciano)

Prueba con:


if fecha in ['Enero','Febrero','Marzo','Abril','Mayo','Junio']:
print("Tendras un mes de vacaciones")
else:
print("Tendras una semana de vacaciones en Diciembre")


15-Mar-2023 00:34
Invitado (Alejandro Andrade)

Hola, el problema está en la condición del 'if'. Actualmente estás comparando la variable 'fecha' con una cadena de texto que contiene una lista de meses. Lo que debes hacer es verificar si 'fecha' está dentro de esa lista de meses. Aquí te dejo el código corregido:

nombre = input("como te llamas: ")
apellido = input("cuál es tu apellido: ")
edad = input("que edad tienes: ")
fecha = input("en que mes terminas la escuela: ")

print("Un gusto!", nombre, apellido)

if fecha in ["enero", "febrero", "marzo", "abril", "mayo", "junio"]:
   print("Tendrás vacaciones en julio y agosto")
else:
   print("Tendrás una semana de vacaciones en diciembre")

En este código se utiliza el operador 'in' para verificar si 'fecha' se encuentra en la lista de meses. Si es así, se imprimirá el mensaje de vacaciones en julio y agosto, de lo contrario se imprimirá el mensaje de vacaciones en diciembre. Espero que esto te ayude.


15-Mar-2023 22:26
Invitado (Alejandro Andrade)

Hola, veo que estás intentando hacer un pequeño programa en Python. En general, el código que has escrito parece estar bien, pero hay algunas cosas que podrías mejorar.

Primero, la comparación que estás haciendo en la línea 7 no funcionará como esperas. Actualmente estás comparando la variable 'fecha'con una cadena que contiene una lista de meses separados por comas. Lo que deberías hacer es comparar 'fecha' con cada uno de los meses por separado, utilizando el operador 'or' para unir todas las comparaciones. Aquí te dejo un ejemplo:

if fecha == "enero" or fecha == "febrero" or fecha == "marzo" or fecha == "abril" or fecha == "mayo" or fecha == "junio":
   print("Tendrás vacaciones en julio y agosto")
else:
   print("Tendrás una semana de vacaciones en diciembre")

Otra opción es usar la instrucción 'in' para comprobar si 'fecha' está en una lista de meses:

meses_vacaciones = ["enero", "febrero", "marzo", "abril", "mayo", "junio"]
if fecha in meses_vacaciones:
   print("Tendrás vacaciones en julio y agosto")
else:
   print("Tendrás una semana de vacaciones en diciembre")

Esta opción es un poco más corta y más fácil de leer.

Por último, ten en cuenta que la comparación en Python es sensible a mayúsculas y minúsculas, así que asegúrate de escribir los meses de la misma forma en que los estás comparando en el código.

Espero que esto te haya sido útil. ¡Ánimo con tu aprendizaje de Python!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)