from
dateutil.relativedelta
import
relativedelta
from
datetime
import
datetime
from
time
import
strptime
from
pywebio.
input
import
*
from
pywebio.output
import
*
from
pywebio.session
import
*
import
time
while
True
:
clear()
put_html(
"<p align="
"left"
"><h4> AGE CALCULATOR<
/
h4><
/
p>
")
date
=
datetime.now().strftime(
"%d/%m/%Y"
)
DOB
=
input
("
", placeholder="
Your Birth Date(dd
/
mm
/
yyyy)")
try
:
val
=
strptime(DOB,
"%d/%m/%Y"
)
except
:
put_error(
"Alert! This is not the right format"
)
time.sleep(
3
)
continue
in_date
=
DOB.split(
'/'
)
date
=
date.split(
'/'
)
in_date
=
[
int
(i)
for
i
in
in_date]
date
=
[
int
(i)
for
i
in
date]
newdate
=
[]
in_date[
0
], in_date[
2
]
=
in_date[
2
], in_date[
0
]
date[
0
], date[
2
]
=
date[
2
], date[
0
]
if
in_date <
=
date:
now
=
datetime.strptime(DOB,
"%d/%m/%Y"
)
popup(
"Your Age"
,
[put_html(
"<h4>"
f"{relativedelta(datetime.now(),now).years} Years<
/
br> \
{relativedelta(datetime.now(),now).months} Months<
/
br>\
{relativedelta(datetime.now(),now).days} Days"
"</h4>"
), put_buttons(
[
'Close'
], onclick
=
lambda
_: close_popup())], implicit_close
=
True
)
else
:
put_warning(
f
"No result found, this is {date[0]}, and you can't be in {in_date[0]}."
)
time.sleep(
3
)
clear()
choice
=
radio(
"Do you want to calculate again?"
,
options
=
[
'Yes'
,
'No'
], required
=
True
)
if
choice.lower()
=
=
'yes'
:
continue
else
:
clear()
toast(
"Thanks a lot!"
)
exit()