Lab 3

1.  if overview

2.  else, elif

2+  Mastermind

3.  while overview

4.  Grades and average:

score=1
count=sum=0
while score!=0:
    score = input("enter score")
    if score<60:
        print("you failed")
    elif score<70:
        print("you have a D")
    elif score<80:
        print("you have a C")
    elif score<90:
        print("you have a B")
    else:
        print("you have an A")
    sum = sum + score
    count = count + 1

print "your average score is",sum/count

5.  Sentinel Value

6.  Random numbers

7.  Craps

VISUAL PYTHON

1.  Graph:  Integral

from visual.graph import *
from visual.factorial import factorial
 
xmax = input("enter domain range")
xmin = -xmax
 
myfunction = raw_input("enter function ")

def f(x): return eval(myfunction)
 
dx = (xmax-xmin)/512.0 # chop domain into 512 deltas
graph = gdisplay(ymin=xmin, ymax=xmax,xtitle=myfunction)
 
curve = gcurve(color=color.yellow)

area=0.0
#draw the function itself
for x in arange(xmin,xmax,dx):
    curve.plot(pos=(x,f(x)))
 
#draw the area under the curve between 0 and 2:  add area of each bar
funct2 = gvbars(color=color.red,delta=dx)
rate(2)
for x in arange(0,2,dx):
    funct2.plot(pos=(x,f(x)))
    area=area+dx*f(x)

print area

2.  Projectile

from visual import *
scene.width=800
scene.autoscale=0
ball = sphere(pos=(-9,-4.5,0), color=color.blue,radius=.3)

ang = input("enter angle")
ang = math.pi/180.0*ang
mag = input("input the force")
ball.velocity = vector(cos(ang)*mag, sin(ang)*mag,0)


d=.01
while ball.pos.y>=-4.5:
    rate(50)
    print ball.pos.x,ball.pos.y,ball.pos.z
    ball.velocity.y = ball.velocity.y-9.8*d
  
    ball.pos = ball.pos + ball.velocity*d

3.  Car

from visual import *
from visual.graph import *
time=0
scene.width=800
scene.height=100
scene.autoscale=0
graph = gdisplay(ymin=0 ,xmax=100,ymax =20,xmin=0,title="distance",height=300)
curve = gcurve(gdisply=graph,color=color.yellow)
graph2 = gdisplay(ymin=0 ,xmax=100,ymax =20,xmin=0,height=200,title="Acceleration")
curve2 = gcurve(gdisplay=graph2,color=color.cyan)
car = box(pos=(-10,0,0), color=color.red,height=.2,length=.5)
car.velocity = vector(0,0,0)


d=.01
print "rearrange windows then click on the car window to start"
scene.mouse.getclick()
while car.pos.x<10:
    rate(50)
    print car.pos.x,car.pos.y,car.pos.z
    if scene.kb.keys:
        s = scene.kb.getkey()
        if s=='s': car.velocity.x=car.velocity.x+.2
        if s=='a': car.velocity.x=car.velocity.x-.2
    car.pos = car.pos + car.velocity*d
    time=time+d
    print "time is",time
    curve.plot(pos =(time*10,car.pos.x+10))
    curve2.plot(pos =(time*10,3))

4.  Assignment

code = "rbygmc"
count=stop = 0


for a in code:
    for b in code:
        for c in code:
            for d in code:
                count = count + 1
                print "My",count,"guess is",a,b,c,d
               
                feedback = raw_input("enter the result in 1's and 0's")
                if feedback == "1111":
                    print "right"
                    stop = 1
                    break
            if stop==1:break
           
        if stop==1:break
    if stop==1:break
               

print "total guesses was",count