Hoe bepaal het sterrenbeeld in Python daytime()

Pagina: 1
Acties:

Onderwerpen


  • Jokiehints
  • Registratie: Februari 2019
  • Laatst online: 02-04-2024
Ik ben een newbie en tracht een script te schrijven in Python waarmee ik het sterrenbeeld kan bepalen. Ik gebruik daarbij daytime() die ik importeer:

Python:
1
from datetime import datetime, date, time


Ik wil werken met alleen de maand en de dag, maar ik krijg steeds een foutmelding als ik de variabele voor het jaar weglaat.

Python:
1
2
3
4
5
  File "/Users/johnkievits/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/datums.py", line 12
    geb_dat = date(, geb_mnd, geb_dag)          
                   ^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1] volgt mijn script zoals dit er nu uitziet.


Ik heb een aantal pogingen gedaan maar ik kom niet verder. Mijn vraag is nu hoe ik in Python kan werken met alleen de maand en de dag (zonder rekening te moeten houden met het jaar). Het sterrenbeeld is immers in elk jaar in dezelfde periode.

Hieronder het script, tot zover ben ik gekomen. Ik werk hierin met een voorbeeld geboortedatum omdat ik het jaar - tot nu toe - niet kan voorkomen. Graag jullie tips voor de volgende stap.

Python:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# importeren datetime module 
from datetime import datetime, date, time 

    
geb_dag = 19
geb_mnd = 10
geb_jaar = 1981


#geb_dag, geb_mnd, geb_jaar = [int(x) for x in input("Vul de geboortedaum in volgens dit format (DD-MM-YYYY) : ").split('-')] 

geb_dat = date(geb_jaar, geb_mnd, geb_dag)          # verplicht format = jaar, maand, dag

print(geb_dat.strftime('%d-%m-%Y'))

print(geb_dat)

print("geboortedag (variabele 'geb_dag') =  " +str(geb_dag))
print("Gebroortemaand (variabele 'geb_mnd') =  " +str(geb_mnd))
print("Geboortejaar (variabele 'geb_jaar') =  " + str(geb_jaar))

# Formuleer de datums in een 'date' format
# Steenbok gesplitst in twee blokken vanwege het 'year' probleem.
#maar dit is geen goede oplossing

st_bok1 = date(1981, 1, 1)
st_bok2 = date(1981, 1, 19)
st_bok3 = date(1981, 12, 22)
st_bok4 = date(1981, 12, 31)
wat_man1 = date(1981, 1, 20)
wat_man2 = date(1981, 2, 19)
vi_sen1 = date(1981, 2, 20)
vi_sen2 = date(1981, 3, 20)
ram1 = date(1981, 3, 21)
ram2 = date(1981, 4, 20)
stier1 = date(1981, 4, 21)
stier2 = date(1981, 5, 20)
twee1 = date(1981, 5, 21)
twee2 = date(1981, 6, 20)
kre1 = date(1981, 6, 21)
kre2 = date(1981, 7, 22)
leo1 = date(1981, 7, 23)
leo2 = date(1981, 8, 23)
magd1 = date(1981, 8, 24)
magd2 = date(1981, 9, 23)
we_sch1 = date(1981, 9, 24)
we_sch2 = date(1981, 10, 23)
schorp1 = date(1981, 10, 24)
schorp2 = date(1981, 11, 22)
boog1 = date(1981, 11, 23)
boog2 = date(1981, 12, 21)

"""
# Bepalen sterrenbeeld + dierenriemteken
st_beeld = ""
dier_tek = 0 
if st_bok1 < geb_dat < st_bok2:
    st_beeld = "Steenbok"
    dier_tek = 10
elif wat_man1 < geb_dat < wat_man2:
    st_beeld = "Waterman"
    dier_tek = 11
elif vi_sen1 < geb_dat < vi_sen2:
    st_beeld = "Vissen"
    dier_tek = 12
elif ram1 < geb_dat < ram3:
    st_beeld = "Ram"
    dier_tek = 1
elif stier1 < geb_dat < stier2:
    st_beeld = "Stier"
    dier_tek = 2
elif:
    pass


OVERZICHT DIERENRIEM
10. Steenbok        01 jannuari     - 19 januari
11. Waterman        20 januari      - 19 februari
12. Vissen          20 februari     - 20 maart
1.  Ram             21 maart        - 20 april
2.  Stier           21 april        - 20 mei
3.  Tweeling        21 mei          - 21 juni
4.  Kreeft          21 juni         - 22 juli
5.  Leeuw           23 juli         - 23 augustus
6.  Maagd           24 augustus     - 23 september
7.  Weegschaal      24 september    - 23 oktober
8.  Schorpioen      24 oktober      - 22 november
9.  Boogschutter    23 november     - 21 december
10  Steenbok        22 december     - 31 december
"""

...

Acties:
  • +2 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

Er zat voorbeelden met code op internet te vinden:
https://www.w3resource.co...nditional-exercise-38.php

https://www.tutorialspoin...for-a-given-data-of-birth

Lukt het met deze voorbeelden?

Acties:
  • +1 Henk 'm!

  • Jokiehints
  • Registratie: Februari 2019
  • Laatst online: 02-04-2024
@Brilsmurfffje Ontzettend bedankt voor jouw snelle reactie. Deze methode is veel makkelijker. Ik heb het voor mijzelf te moeilijk gemaakt. Hierbij kan je voorbij gaan aan daytime().