Pinwheel

Click Here to Download this Answer Instantly

Individual programming assignments:Pinwheel Redux. Name the program pinwheel_redux.py

Download a version of this program without using functions at the end of this page

You will write an improved version of the eight_parallelogram.py that you created for week 3. In this version, you will create the following two functions:parallelogram(s, parallelogramColor): This function draws a single parallelogram with longest side of length s and color parallelogramColor, as described in the Week 3 Assignment.pinwheel (s, nroParallelograms, parallelogramColor): This function uses a for-loop to call the function parallelogram() in order to draw the pinwheel. The parameter s represents the long diagonal of the parallelogram, nroParallelograms indicates the number of parallelograms in the pinwheel, and parallelogramColor is the fill color of the parallelograms. Your program should draw three pinwheels, in three different sizes, colors and at different locations on the window.
Create a function main() which asks the user for the sizes of the three pinwheels, the number of parallelograms in each pinwheel, and three color names.
Take a screenshot of the output of your program and submit with your program files.
Call the screenshot file pinwheel_redux.PNG

Below are animations drawing a 3, 4, 8-parallelogram pinwheels:IP Address Descriptor Redux. Name the program ip_descriptor_redux.py.
Write a program that reads four integer values corresponding to an IP address “a1.a2.a3.a4” (IPv4), and determines whether the values form a valid IP address, the class of this IP address, and whether or not the values correspond to a reserved IP address space. Your program shall define and use the following functions:is_valid_ip(a1, a2, a3, a4): This function returns True if the address a1.a2.a3.a4 is valid; otherwise, the function returns False. The parameters a1, a2, a3 and a4 form a valid IP address if a1 is between 1 and 255, and the rest of the values are between 0 and 255, both included.determine_ip_class(a1): By providing the a1 component of an IP address, this function return one of the classes below depending on the range a1 falls in:
Class Range
—————–
“A” 1 – 127
“B” 128 – 191
“C” 192 – 223
“D” 224 – 239
“E” 240 – 255is_private_ip(a1, a2, a3, a4): This function returns True if the address a1.a2.a3.a4 falls in one of the address ranges below, considered Private IP Addresses; otherwise the function returns False.
Private IP Address
——————————-
10.0.0.0 – 10.255.255.255
127.0.0.0 – 127.255.255.255
172.16.0.0 – 172.31.255.255
192.88.99.0 – 192.88.99.255
192.168.0.0 – 192.168.255.255
——————————-main(): This function coordinates all the actions in the program: it asks the user for the components of an IP address, and determines whether it is valid or not. If it is valid, the program also shows the class of the IP address, and whether or not it is considered a private address.Here is a sample execution of the program when given a valid IP address (substitute me with your name):
IP Descriptor Program
by meEnter the four components of an IP address, separated by commas: 192,168,32,64
This is a valid IP address.
This is a class C address.
This is a Private address.Here is another example of a valid IP address that is not private.
IP Descriptor Program
by meEnter the four components of an IP address, separated by commas: 64,32,24,128
This is a valid IP address.
This is a class A address.
This is a Public address.This is an example of an invalid IP address:IP Descriptor Program
by meEnter the four components of an IP address, separated by commas: 64,32,-24,528
This is NOT a valid IP address