#!/usr/bin/python #day kinds dk = {"WK": "W", "WKO": "w", "WD": "D", "WDO": "d", "HO": "H", "HOO": "h", "CLO": "X", "UNK": "-"} # day strings ds = {"WK": "Weekday", "WKO": "Weekday (off)", "WD": "Weekend", "WDO": "Weekend (off)", "HO": "Holiday", "HOO": "Holiday (off)", "CLO": "Closed", "UNK": "Unknown"} # lesson kinds lk = {"BLU": "B", "RED": "R", "BLA": "L", "GRE": "G", "FIX": "F", "BLUFL": "b", "REDFL": "r", "BLAFL": "l", "GREFL": "g", "FIXFL": "f", "MISS": "e", "CLO": "X", "SKIP": "-", "KID": "K"} #lesson strings st = {"BLU": "Blue", "RED": "Red", "BLA": "Black", "GRE": "Green", "FIX": "Fixed", "BLUFL": "Blue (FL)", "REDFL": "Red (FL)", "BLAFL": "Black (FL)", "GREFL": "Green (FL)", "FIXFL": "Fixed (FL)", "MISS": "Missed", "CLO": "Closed", "SKIP": "Skipped", "KID": "Kid", "Taught": "Taught"} # lesson yen values yn = {"A1": 1500, "A2": 1600, "B1": 1700, "B2": 1800, "C1": 1900, "C2": 2000, "D1": 2100, "D2": 2200, "F-peak": 200} # short month names sm = {"01": "JAN", "02": "FEB", "03": "MAR", "04": "APR", "05": "MAY", "06": "JUN", "07": "JUL", "08": "AUG", "09": "SEP", "10": "OCT", "11": "NOV", "12": "DEC"} # counter dictionary counters = {"Taught": 0, "Missed": 0, "Closed": 0, "Skipped": 0, "Blue": 0, "Red": 0, "Black": 0, "Green": 0, "Fixed": 0, "Kid": 0} day_key = "" day_data = [] month_data = {} current_belt = "C2" def get_key(day_info): the_key = day_info[:6] return the_key def get_data(day_info): the_data = day_info[6::] return the_data def get_day_data(day_info): the_day_data = [] for count in range(6,len(day_info)): the_day_data.append(day_info[count]) return the_day_data def get_day_type(the_data): today = "" if the_data[0] == dk["WK"]: today = ds["WK"] elif the_data[0] == dk["WKO"]: today = ds["WKO"] elif the_data[0] == dk["WD"]: today = ds["WD"] elif the_data[0] == dk["WDO"]: today = ds["WDO"] elif the_data[0] == dk["HO"]: today = ds["HO"] elif the_data[0] == dk["HOO"]: today = ds["HOO"] elif the_data[0] == dk["CLO"]: today = ds["CLO"] else: today = ds["UNK"] return today def get_year(the_key): the_year = the_key[:2] return "20"+the_year def get_month(the_key): the_month = the_key[2:4] the_month = sm[the_month] return the_month def get_day(the_key): the_day = the_key[4:6] return the_day def get_count(day_info): # set up gloabl counter dictionary global counters # strip day type all_lessons = day_info[1::] for count in range(len(all_lessons)): if all_lessons[count] == lk["BLU"]: counters[st["BLU"]] += 1 counters[st["Taught"]] += 1 elif all_lessons[count] == lk["RED"]: counters[st["RED"]] += 1 counters[st["Taught"]] += 1 elif all_lessons[count] == lk["BLA"]: counters[st["BLA"]] += 1 counters[st["Taught"]] += 1 elif all_lessons[count] == lk["GRE"]: counters[st["GRE"]] += 1 counters[st["Taught"]] += 1 elif all_lessons[count] == lk["FIX"]: counters[st["FIX"]] += 1 counters[st["Taught"]] += 1 elif all_lessons[count] == lk["MISS"]: counters[st["MISS"]] += 1 elif all_lessons[count] == lk["CLO"]: counters[st["CLO"]] += 1 elif all_lessons[count] == lk["SKIP"]: counters[st["SKIP"]] += 1 elif all_lessons[count] == lk["KID"]: counters[st["KID"]] += 1 counters[st["Taught"]] += 1 def get_money(day_info): # total money for the day total = 0 # strip day type all_lessons = day_info[1::] for count in range(len(all_lessons)): if (all_lessons[count] == lk["MISS"]) | (all_lessons[count] == lk["CLO"]) | (all_lessons[count] == lk["SKIP"]): pass else: if day_info[0] == dk["WK"]: if (count < 3) | (count > 13): # peak lesson if count < 3: # F-peak lesson total += 200 total += 2000 else: # non-peak lesson total += 1500 elif (day_info[0] == dk["WD"]) | (day_info[0] == dk["HO"]): total += 2000 return total day_info = "140519W----BeBe-BBBB-KB-----" day_key = get_key(day_info) day_data = get_data(day_info) month_data = {day_key,day_data} print("%s %s, %s is a %s") % (get_month(day_key),get_day(day_key),get_year(day_key),get_day_type(day_data)) print(month_data) get_count(day_data) # breakdown of lessons taught print("Breakdown of lessons taught:") print("%s: %d") % (st["BLU"],counters[st["BLU"]]) print("%s: %d") % (st["RED"],counters[st["RED"]]) print("%s: %d") % (st["BLA"],counters[st["BLA"]]) print("%s: %d") % (st["GRE"],counters[st["GRE"]]) print("%s: %d") % (st["FIX"],counters[st["FIX"]]) print("%s: %d") % (st["KID"],counters[st["KID"]]) print("%s: %d") % (st["Taught"],counters[st["Taught"]]) print("%s: %d") % (st["MISS"],counters[st["MISS"]]) print("%s: %d") % (st["CLO"],counters[st["CLO"]]) print("%s: %d") % (st["SKIP"],counters[st["SKIP"]]) # total money for the day print("Earned %d yen for the day, before tax.") % (get_money(day_data))
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question