Compare commits
3 Commits
89b8c97671
...
f5ef14dee8
Author | SHA1 | Date |
---|---|---|
|
f5ef14dee8 | |
|
247b241041 | |
|
1b92f1d3f6 |
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
def get_input():
|
||||||
|
result = []
|
||||||
|
print('Enter a number when prompted. Press enter to stop')
|
||||||
|
while True:
|
||||||
|
_input = input('Input a number: ')
|
||||||
|
if len(_input) == 0:
|
||||||
|
break
|
||||||
|
try:
|
||||||
|
_input = int(_input)
|
||||||
|
result.append(_input)
|
||||||
|
except ValueError:
|
||||||
|
print("Error, only accepts numbers")
|
||||||
|
return result
|
||||||
|
|
||||||
|
print(min(get_input()))
|
|
@ -0,0 +1,53 @@
|
||||||
|
from datetime import datetime
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
|
||||||
|
input_month = input('Input a month to analyse: ')
|
||||||
|
input_day = int(input('Input a day of that month: '))
|
||||||
|
|
||||||
|
def convert_doy_to_season(doy):
|
||||||
|
if not isinstance(doy, int):
|
||||||
|
return 'Invalid'
|
||||||
|
|
||||||
|
if 79 <= doy <= 171:
|
||||||
|
return 'Spring'
|
||||||
|
if 172 <= doy <= 264:
|
||||||
|
return 'Summer'
|
||||||
|
if 265 <= doy <= 354:
|
||||||
|
return 'Autumn'
|
||||||
|
if 355 <= doy <= 365 or 1 <= doy <= 78:
|
||||||
|
return 'Winter'
|
||||||
|
|
||||||
|
def convert_month_to_num(month_name):
|
||||||
|
try:
|
||||||
|
_date = datetime.strptime(month_name, "%B")
|
||||||
|
logging.debug(_date.month)
|
||||||
|
return int(_date.month)
|
||||||
|
except ValueError:
|
||||||
|
logging.warning('Was unable to convert from full month name, trying with shortname.')
|
||||||
|
try:
|
||||||
|
_date = datetime.strptime(month_name, "%b")
|
||||||
|
logging.debug(_date.month)
|
||||||
|
return int(_date.month)
|
||||||
|
except ValueError:
|
||||||
|
logging.error('Was unable to convert the month {0}! Tried long name and short name.'.format(month_name))
|
||||||
|
return None
|
||||||
|
|
||||||
|
def day_of_year(month,day):
|
||||||
|
try:
|
||||||
|
# Cannot handle leap years!!!
|
||||||
|
if day > 30 or day <= 0:
|
||||||
|
raise OverflowError
|
||||||
|
|
||||||
|
result = int((275 * month) / 9.0) - 2 * int((month + 9) / 12.0) + day - 30
|
||||||
|
logging.debug(result)
|
||||||
|
return result
|
||||||
|
except TypeError:
|
||||||
|
return None
|
||||||
|
except OverflowError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
print(convert_doy_to_season(day_of_year(convert_month_to_num(input_month), input_day)))
|
||||||
|
|
Loading…
Reference in New Issue