# February Monthly Project # Winter Olympics logo and medal count # This sample code includes: # labels for the charts and an intro # the bar chart going downward # the bar chart using circles from codex import * def logo(): display.fill(LIGHT_GRAY) # Draw Olympic rings display.draw_circle(50, 150, 35, BLUE) display.draw_circle(125, 150, 35, BLACK) display.draw_circle(200, 150, 35, RED) display.draw_circle(85, 185, 35, YELLOW) display.draw_circle(160, 185, 35, DARK_GREEN) # Draw text display.draw_text("MILANO CORTINA", x=34, y=25, color=BLACK, scale=2) display.draw_text("Winter Olympics", x=30, y=50, color=BLACK, scale=2) display.draw_text("2026", x=70, y=75, color=BLACK, scale=4) def get_info(): display.clear() display.print("Answer questions") display.print("in the console.") country = input("Which country? ") gold = int(input("How many gold medals? ")) silver = int(input("How many silver medals? ")) bronze = int(input("How many bronze medals? ")) return country, gold, silver, bronze def stacks(choice): country, gold, silver, bronze = get_info() display.clear() display.print(country) display.print("Olympic medals") if choice == 1: bar_chart(gold, 20, YELLOW, ORANGE, 'Gold') bar_chart(silver, 95, LIGHT_GRAY, GRAY, 'Silver') bar_chart(bronze, 170, ORANGE, RED, 'Bronze') elif choice == 2: down_bar(gold, 20, YELLOW, ORANGE, 'Gold') down_bar(silver, 95, LIGHT_GRAY, GRAY, 'Silver') down_bar(bronze, 170, ORANGE, RED, 'Bronze') else: bar_circles(gold, 70, YELLOW, ORANGE, 'Gold') bar_circles(silver, 140, LIGHT_GRAY, GRAY, 'Silver') bar_circles(bronze, 210, ORANGE, RED, 'Bronze') def bar_chart(num, x1, color1, color2, medal): y1 = 220 for i in range(num): display.fill_rect(x1, y1, 60, 12, color1) display.draw_rect(x1, y1, 60, 12, color2) y1 = y1 - 12 display.draw_text(medal, x=x1+5, y=225, color=BLUE) display.draw_text(str(num), x=x1+20, y=y1, color=WHITE, scale=2) def down_bar(num, x1, color1, color2, medal): y1 = 80 for i in range(num): display.fill_rect(x1, y1, 60, 12, color1) display.draw_rect(x1, y1, 60, 12, color2) y1 = y1 + 12 display.draw_text(medal, x=x1+5, y=85, color=BLUE) display.draw_text(str(num), x=x1+20, y=y1, color=WHITE, scale=2) def bar_circles(num, x1, color1, color2, medal): y1 = 220 for i in range(num): display.fill_circle(x1, y1, 25, color1) display.draw_circle(x1, y1, 25, color2) y1 = y1 - 12 display.draw_text(medal, x=x1-20, y=220, color=BLUE) display.draw_text(str(num), x=x1-2, y=y1, color=PURPLE, scale=2) def intro(): display.clear() display.print("Welcome to") display.print("Winter Olympics") display.print() display.print("A=Logo") display.print("B=Medals-up") display.print("R=Medals-down") display.print("L=Medals-circles") display.print("U=Quit") display.print("D=Intro") # === Main Program === intro() while True: if buttons.was_pressed(BTN_A): logo() if buttons.was_pressed(BTN_B): stacks(1) if buttons.was_pressed(BTN_R): stacks(2) if buttons.was_pressed(BTN_L): stacks(3) if buttons.was_pressed(BTN_D): intro() if buttons.was_pressed(BTN_U): display.clear() break