Python - Problema con el outup, estoy empezando y no encuentro el error semántico

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 17 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con el outup, estoy empezando y no encuentro el error semántico

Publicado por Isaac (4 intervenciones) el 12/01/2022 14:34:49
import calendar
#Se definen los parámetros:
birthday_date = int(input("Día de nacimiento = "))
birthday = (calendar.monthcalendar(2003, 10))

#Hago una lista con todos los días del mes#
birthday = [x for l in birthday for x in l]

print(birthday)
#Busco en las listas hasta que encuentre el día del cumpleaños#
for x in birthday:
if x == birthday_date:
#Cuando lo encuentre, saco el número del índice y busco el día de la semana que coincida con el valor#
daysss = birthday.index(x)
if daysss == 0 or 7 or 14 or 21 or 28:
print("Naciste un Domingo.")
elif daysss == 1 or 8 or 15 or 22 or 29:
print("Naciste un lúnes.")
elif daysss == 2 or 9 or 16 or 23 or 30:
print("Naciste un martes.")
elif daysss == 3 or 10 or 17 or 24 or 31:
print("Naciste un miércoles.")
elif daysss == 4 or 11 or 18 or 25 or 32:
print("Naciste un jueves.")
elif daysss == 5 or 12 or 19 or 26 or 33:
print("Naciste un viernes.")
elif daysss == 6 or 13 or 20 or 27 or 34:
print("Naciste un sábado")

#independientemente del día va a dar siempre "Naciste un domingo" y cuando cambio los "elif" por if te imprime cada condición, es como asigne las condiciones el problema pero no sé como organizarlo sin hacer un código gigante para una función simple#
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema con el outup, estoy empezando y no encuentro el error semántico

Publicado por algoritmo (245 intervenciones) el 12/01/2022 17:14:58
Hola

Inténtalo cambiando:

daysss == 0 or 7 or 14 or 21 or 28

por

daysss in [0, 7, 14, 21, 28]

etc.....

Espero que te sirva :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 17 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con el outup, estoy empezando y no encuentro el error semántico

Publicado por Isaac (4 intervenciones) el 16/01/2022 20:16:17
Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con el outup, estoy empezando y no encuentro el error semántico

Publicado por Francisco Javier (313 intervenciones) el 12/01/2022 19:43:50
Buenas amigo, en los condicionales debes de poner la condicion completa., puede ser así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import calendar
#Se definen los parámetros:
birthday_date = int(input("Día de nacimiento = "))
birthday = (calendar.monthcalendar(2003, 10))
 
#Hago una lista con todos los días del mes#
birthday = [x for l in birthday for x in l]
 
print(birthday)
#Busco en las listas hasta que encuentre el día del cumpleaños#
for x in birthday:
    if x == birthday_date:
    #Cuando lo encuentre, saco el número del índice y busco el día de la semana que coincida con el valor#
        daysss = birthday.index(x)
        print(f'aqui el valor es de {daysss}')
        if daysss == 0 or daysss ==7 or daysss ==14 or daysss ==21 or daysss ==28:
            print("Naciste un Domingo.")
        elif daysss == 1 or daysss ==8 or daysss ==15 or daysss ==22 or daysss ==29:
            print("Naciste un lúnes.")
        elif daysss == 2 or daysss ==9 or daysss ==16 or daysss ==23 or daysss ==30:
            print("Naciste un martes.")
        elif daysss == 3 or daysss ==10 or daysss ==17 or daysss ==24 or daysss ==31:
            print("Naciste un miércoles.")
        elif daysss == 4 or daysss ==11 or daysss ==18 or daysss ==25 or daysss ==32:
            print("Naciste un jueves.")
        elif daysss == 5 or daysss ==12 or daysss ==19 or daysss ==26 or daysss ==33:
            print("Naciste un viernes.")
        elif daysss == 6 or daysss ==13 or daysss ==20 or daysss ==27 or daysss ==34:
            print("Naciste un sábado")

Otra manera es poner una lista de lista con las condiciones y hacer referencia a la lista con posicion, queda un poco mas limpio.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import calendar
#Se definen los parámetros:
birthday_date = int(input("Día de nacimiento = "))
birthday = (calendar.monthcalendar(2003, 10))
 
#Hago una lista con todos los días del mes#
birthday = [x for l in birthday for x in l]
lista_1=[[0,7,14,21,28],[1,8,15,22,29],[2,9,16,23,30],[3,10,17,24,31],[4,11,18,25,32],[5,12,19,26,33],[6,13,20,27,34]]
print(birthday)
#Busco en las listas hasta que encuentre el día del cumpleaños#
for x in birthday:
    if x == birthday_date:
    #Cuando lo encuentre, saco el número del índice y busco el día de la semana que coincida con el valor#
        daysss = birthday.index(x)
        print(f'aqui el valor es de {daysss}')
        if daysss in lista_1[0]:
            print("Naciste un Domingo.")
        elif daysss in lista_1[1]:
            print("Naciste un lúnes.")
        elif daysss in lista_1[2]:
            print("Naciste un martes.")
        elif daysss in lista_1[3]:
            print("Naciste un miércoles.")
        elif daysss in lista_1[4]:
            print("Naciste un jueves.")
        elif daysss in lista_1[5]:
            print("Naciste un viernes.")
        elif daysss in lista_1[6]:
            print("Naciste un sábado")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 17 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con el outup, estoy empezando y no encuentro el error semántico

Publicado por Isaac (4 intervenciones) el 14/01/2022 15:21:03
Gracias maestro!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar