On Feb 23, 2014, at 2:26 AM, Peter Otten <__pete...@web.de> wrote: > which still shows a repetetive pattern and thus you can simplify it with > another loop. You should be able to find a way to write that loop with two > star_row() calls on a single iteration, but can you do it with a single call > too?
So, I was able to cut it down a bit but I’m having a hard time trying to cut it down with another loop and a single call. Wouldn’t what you’re saying in the above paragraph have to be another function with a loop inside? Or are you saying just another loop will suffice? Any hints? Here is what I got so far, I’ll put the loop in question in bold. from turtle import * from math import sin, sqrt, radians def star(width): R = (width)/(2*sin(radians(72))) A = (2*width)/(3+sqrt(5)) penup() left(18) penup() forward(R) pendown() left(162) forward(A) right(72) forward(A) left(144) forward(A) right(72) forward(A) left(144) forward(A) right(72) forward(A) left(144) forward(A) right(72) forward(A) left(144) forward(A) right(72) forward(A) penup() left(162) forward(R) left(162) showturtle() def fillstar(color): fillcolor(color) begin_fill() star(25) end_fill() red = "red" fillstar(red) def space(width): penup() forward(2*width) pendown() space(25) def row(width): penup() right(90) forward(width) right(90) forward(11*width) right(180) pendown() def star_row(numberstars): for i in range (numberstars): fillstar(red) space(25) star_row(5) row(25) star_row(5) row(25) star_row(6) row(25) star_row(5) row(25) star_row(6) row(25) star_row(5) row(25) star_row(6) row(25) star_row(5) row(25) star_row(6) This is what I’m thinking… for I in range(4) star_row(5) row(25) star_row(6) row(25) ???? Am I at all close?
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor