Question

In: Computer Science

IN PYTHON: Compose a recursive program to draw Sierpinski triangles. Use a command-line argument to control...

IN PYTHON:

Compose a recursive program to draw Sierpinski triangles. Use a command-line argument to control the depth of the recursion.

Solutions

Expert Solution

import turtle

def drawTriangle(points,color,myTurtle):
    myTurtle.fillcolor(color)
    myTurtle.up()
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.down()
    myTurtle.begin_fill()
    myTurtle.goto(points[1][0],points[1][1])
    myTurtle.goto(points[2][0],points[2][1])
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.end_fill()

def getMid(p1,p2):
    return ( (p1[0]+p2[0]) / 2, (p1[1] + p2[1]) / 2)

def sierpinski(points,degree,myTurtle):
    colormap = ['blue','red','green','white','yellow',
                'violet','orange']
    drawTriangle(points,colormap[degree],myTurtle)
    if degree > 0:
        sierpinski([points[0],
                        getMid(points[0], points[1]),
                        getMid(points[0], points[2])],
                   degree-1, myTurtle)
        sierpinski([points[1],
                        getMid(points[0], points[1]),
                        getMid(points[1], points[2])],
                   degree-1, myTurtle)
        sierpinski([points[2],
                        getMid(points[2], points[1]),
                        getMid(points[0], points[2])],
                   degree-1, myTurtle)

def main():
   myTurtle = turtle.Turtle()
   myWin = turtle.Screen()
   myPoints = [[-100,-50],[0,100],[100,-50]]
   sierpinski(myPoints,3,myTurtle)
   myWin.exitonclick()

main()


Related Solutions

Python Write a program that takes a text filename as command line argument, and prints number...
Python Write a program that takes a text filename as command line argument, and prints number of times each letter occurred in this file.
A C program that accepts a single command line argument and converts it in to binary...
A C program that accepts a single command line argument and converts it in to binary with array length of 16 bits. The array should contain the binary of the int argument. the program should also convert negative numbers. Side note the command line arg is a valid signed int.
Write a C program that accepts a port number as a command line argument, and starts...
Write a C program that accepts a port number as a command line argument, and starts an HTTP server. This server should constantly accept() connections, read requests of the form: GET /path HTTP/1.1\r\n\r\n read the file indicated by /path, and send it over the "connect" file descriptor returned by the call to accept().
Write a C program that accepts a port number as a command line argument, and starts...
Write a C program that accepts a port number as a command line argument, and starts an HTTP server. This server should constantly accept() connections, read requests of the form GET /path HTTP/1.1\r\n\r\n read the file indicated by /path, and send it over the "connect" file descriptor returned by the call to accept().
C PROGRAM In Stage 1, you will be implementing the Draw Line command to draw horizontal...
C PROGRAM In Stage 1, you will be implementing the Draw Line command to draw horizontal and vertical lines. The Draw Line command is given four additional integers, which describe two pixels: the start and end pixels of the line. Each pixel consists of two numbers: the index of the row, and the index of the column. For example, the command 1 10 3 10 10 tells your program to draw a line (1), starting at the pixel at row...
Python programming: Instructions: The python program should respond to user input on a command line Below...
Python programming: Instructions: The python program should respond to user input on a command line Below are the four options - if the user input is A, the program will quit -if the user input is B, the program will display the number of times the prompt has been displayed -if the user input is C, will display whatever is stored. -if the user inputs something else, it will store that user input as a string and append it to...
Python Questions Suppose we run the Python program my_program.py from command line like this: Python my_program.py...
Python Questions Suppose we run the Python program my_program.py from command line like this: Python my_program.py 14 CSC121 Which of the following statement in my_program.py will display CSC121? A. import sys print(sys.argv) B. import sys print(sys.argv[0]) C. import sys print(sys.argv[1]) D. import sys print(sys.argv[2]) from datetime import datetime dob = datetime(2015, 1, 1) Which of the following statements will change year to 2018? A. dob.year=2018 B. dob.replace(year=2018) C. dob = dob.replace(year=2018) D. dob.set_year(2018) 10 points    QUESTION 4 from datetime...
Variation on the ubiquitous "hello, world!" program. One argument from the command line may be passed...
Variation on the ubiquitous "hello, world!" program. One argument from the command line may be passed to the main method. If an argument is to be used, it must have a value of "-h" or "-w". If "-h" is passed to the main method as an argmument, the output of the program is"Hello". If "-w" is passed as an argument to the main method, the out of the program is "World". If no arguments are passed to the main method,...
Write a Python program that draw simple lollipop (a line and few circles, the line should...
Write a Python program that draw simple lollipop (a line and few circles, the line should attach to the circle, just as regular lollipop, you decide the colors),
Write a C program called test that takes one command line argument, an integer N. When...
Write a C program called test that takes one command line argument, an integer N. When we run test: ./test N the program will do this: the parent process forks N child processes each child process prints its process ID, exits the parent process waits for all child processes to exit, then exits
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT