# CSE101-Lab 6

Name:

Roll No:

Getting credit
Complete all required blank boxes and lines on this handout. When you are done, show your written answers
to one of the TAs. The TA may ask you a few questions to make sure you understand the material.
Submission: The docx file and edited version of PaintShapes.py, zipped into a file

1 Random Simulation Basics
The following script produces 4 lines of output:
# ShowRand.py
from random import randint as randi
from random import uniform as randu
N = 100000
count=0
for k in range(N):
x = randu(0,100)
if 10<=x<=20 or 45<=x<=70:
count +=1
print (float(count)/float(N))
count=0
for k in range(N):
x = randu(0,100)
if 10<=x<=45 and 20<=x<=60:
count +=1
print (float(count)/float(N))
count=0
for
k in range(N):
x = randi(1,20)
if x%3==1 or x%5==0:
count +=1
print (float(count)/float(N))
count=0
for
k in range(N):
x = randi(1,20)
if 13<=x<17:
count +=1
print (float(count)/float(N))

3) if rc%3==0: c = MAGENTA elif rc%3==1: c = CYAN else: c = BLUE so that we draw a Magenta disk with probability 1/3. Cyan with probability 1/3. 2.py and observe that it randomly places 500 color disks and squares in the figure window: Look at the computation of rangeR and sideRange values inside the for loop.12). and Blue with probability 1/3. the color is Magenta with probability 1/3.1 Show how to modify these assignment statements so that no painted shape is cut by the edge of the figure window? As it stands. a Cyan disk with probability 1/4. [Make the required changes in the PaintShapes.2 How could you change rc = randi(1. and a Blue disk with probability 5/12? Hint: randi(1.Fill in the following table: I Think the Python Expression Notes Output Is 1 First Output Line 2 Second Output Line 3 Third Output Line 4 Fourth Output Line Says 2 PaintShapes Run the module PaintShapes. 2.py] .

-L): x = 0 y = 0 T = “” for i in range 2000 : if abs(x) < L and abs(y) < L: # The robot has not reached the edge r = randi(1.count('N'). Answer: .0) and hops its way towards the edge of the square.3 Random Walk Here is code that simulates a random walk inside a square with corners (L. An example T would be 'NNEENNSSWWSSWWEE'. T = T + 'NN' elif r==2: # Hop East x = x + 1. Answer: 3. T = T + 'SS' else: # Hop West x = x-1. T = T + 'WW' else: break # Code Here The robot starts at (0. and ( -L.1 Assume that L is a positive integer and that T has been produced by the for loop.2 Add code after the Code Here comment so that the x.count('E'). -L). Add code after the Code Here comment so that the number of hops that the robot took is assigned to the variable nSteps. T. L). A hop is either two units North. T = T + 'EE' elif r==3: # Hop South y = y-1. two units East.4) if r==1: # Hop North y = y + 1. Think about T. two units South. (L. 3. (Hint. ( -L.count('S'). and T. T.y coordinates of the robot's final position are printed out. or two units West. The string T records the itinerary. L).count('W').