Day 019
Udemy Python Bootcamp Day 019
Functions as Inputs
def function_a(something):
#Do this with something
#Then do this
#Finally do this
def function_b():
#Do this
function_a(function_b)
Event Listeners
from turtle import Turtle, Screen
tim = Turtle()
screen = Screen()
def move_forwards():
tim.forward(10)
screen.listen()
screen.onkey(key="space", fun=move_forwards)
screen.exitonclick()
.listen()
: Set focus on TurtleScreen (in order to collect key-events).
.onkey()
parameters
- fun: a function with no arguments or None
- key: a string: key (e.g. “a”) or key-symbol (e.g. “space”)
Etch-A-Sketch App
from turtle import Turtle, Screen
tim = Turtle()
screen = Screen()
def move_forwards():
tim.forward(10)
def move_backwards():
tim.backward(10)
def turn_left():
new_heading = tim.heading() + 10
tim.setheading(new_heading)
def turn_right():
new_heading = tim.heading() - 10
tim.setheading(new_heading)
def clear():
tim.clear()
tim.penup()
tim.home()
tim.pendown()
screen.listen()
screen.onkey(move_forwards, "w")
screen.onkey(move_backwards, "s")
screen.onkey(turn_left, "a")
screen.onkey(turn_right, "d")
screen.onkey(clear, "c")
screen.exitonclick()
Turtle Race
from turtle import Turtle, Screen
screen = Screen()
screen.setup(width=500, height=400)
user_bet = screen.textinput(title="Make your bet", prompt="Which turtle will win the race? Enter a color: ")
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
y_position = [-70, -40, -10, 20, 50, 80]
for turtle_index in range(6):
tim = Turtle(shape="turtle")
tim.color(colors[turtle_index])
tim.penup()
tim.goto(x=-230, y=y_position[turtle_index])
screen.exitonclick()
Final
from turtle import Turtle, Screen
import random
is_race_on = False
screen = Screen()
screen.setup(width=500, height=400)
user_bet = screen.textinput(title="Make your bet", prompt="Which turtle will win the race? Enter a color: ")
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
y_positions = [-70, -40, -10, 20, 50, 80]
all_turtles = []
#Create 6 turtles
for turtle_index in range(0, 6):
new_turtle = Turtle(shape="turtle")
new_turtle.penup()
new_turtle.color(colors[turtle_index])
new_turtle.goto(x=-230, y=y_positions[turtle_index])
all_turtles.append(new_turtle)
if user_bet:
is_race_on = True
while is_race_on:
for turtle in all_turtles:
#230 is 250 - half the width of the turtle.
if turtle.xcor() > 230:
is_race_on = False
winning_color = turtle.pencolor()
if winning_color == user_bet:
print(f"You've won! The {winning_color} turtle is the winner!")
else:
print(f"You've lost! The {winning_color} turtle is the winner!")
#Make each turtle move a random amount.
rand_distance = random.randint(0, 10)
turtle.forward(rand_distance)
screen.exitonclick()
Author And Source
이 문제에 관하여(Day 019), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@awesomee/Day-019저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)