Monday, 15 June 2015

python use turtle draw a track n field race track -



python use turtle draw a track n field race track -

write programme using turtle draws track several lanes. may inquire user come in integer in between 1 , 8 number of lanes. track typically consists of 2 straightaways semicircles on both sides. lane enclosed between 2 of these shapes. thus, track 6 lanes should have 7 figures of similar shape, enclosed in 1 another.

the question stated above outcome trying produce. each line of track keeps starting in same line. please help! should trying alter starting position?

import turtle def main(): side = 80 n = int(input("how many lanes want?\n")) turtle.pendown() cnt in range(n+1): race = turtle.turtle() race.forward(side) race.circle(side/2,180) race.forward(side) race.circle(side/2,180) side = side = side + 20 main()

some of import things note:

turtle.pendown() not alter particular instance or race, want race.pendown()

each time race = turtle.turtle(), create new instance of race take statement out side of loop.

each loop create need move race (for spacing of tracks), can with:

race.penup() #inside loop. race.right(90) race.forward(20) #i think should 20... race.right(-90)

just clear looks in end:

import turtle

def main(): side = 80 n = int(input("how many lanes want?\n")) race = turtle.turtle() cnt in range(n+1): race.forward(side) race.circle(side,180) race.forward(side) race.circle(side,180) side = side = side + 20 race.penup() #inside loop. race.right(90) race.forward(20) #i think should 20... race.right(-90) race.backward(10) race.pendown() main()

meanwhile, in midst of 3 lanes:

even more refactored code:

import turtle def create_track(n, side=80, change=20): race = turtle.turtle() cnt in range(n+1): race.forward(side) race.circle(side,180) race.forward(side) race.circle(side,180) side = side + alter race.penup() race.right(90) race.forward(change) race.right(-90) race.backward(change/2) race.pendown() def main(): n = int(input("how many lanes want?\n")) create_track(n) if __name__ == "__main__": main()

python-3.x turtle-graphics

No comments:

Post a Comment