Chapter 5

Sections 5.1 - 5.4

\(\boxdot\) Python Modules
  • A Python module is a file containing Python definitions and statements to be used in other Python programs

  • Python comes with a standard library of modules

\(\boxdot\) Math Module

The math module provides the user access to the common functions used in many applications in a wide range of disciplines. Additionally, the model provide accurate approximations for irrational numbers usch as \(\pi\) and \(e\). More thorough information can be found by going to the informational web page shown below.

Python Math Module Info

\(\boxdot\) Random Module

The random module provides the Python user with a pseudo-random number generator. That is, it is not truly random. The process depends on a seed value the generator uses. Each time the generator is used, the seed value is updated. The process is effectively random because each time you run a program that utilizes the generator, it is very likely that a different seed value is used so that a different sequence of numbers is generated by the algorithm.

The random module commands we will be using most often are:

  • random.random() - that returns a floating point number in the interval [0.0, 1.0).

  • random.randrange(m, n) - m and n are integers (m < n), and the function returns one of the following numbers with equal probability : m, m+1, m+2, … , n-2, n-1

\(\boxdot\) Further Activities
  • Activity 1: Modify the Point plot program, shown below, to graph the square root function \(y = \sqrt{x}\), using the math module, on the interval \(0 \le x \le 10\). Plot a point for each \(x\) value corresponding to tick locations with a spacing of 0.5.

    # Name : 
    # Point plot a function with ticked x and y axes   
    import turtle as t  
    wn = t.Screen()  
    # graph window  
    x_min = -10.0  
    x_max = 10.0  
    y_min = -10.0  
    y_max = 10.0  
    # tick info  
    t_l = 0.2  
    x_t_space = 0.5  
    y_t_space = 0.5  
    wn.setworldcoordinates(x_min, y_min, x_max, y_max)  
    alex = t.Turtle()  
    # Draw x axis  
    alex.up()  
    alex.goto(x_min, 0.0)  
    alex.down()  
    alex.goto(x_max, 0.0)  
    alex.up()  
    # Draw the y axis  
    alex.goto(0.0, y_min)  
    alex.down()  
    alex.goto(0.0, y_max)  
    alex.up()  
    # Draw the x tick marks  
    n_x_ticks = int((x_max-x_min)/x_t_space) + 1  
    for tick in range(n_x_ticks):  
        loc = x_min + tick*x_t_space  
        alex.up()  
        alex.goto(loc, -t_l*0.5)  
        alex.down()  
        alex.goto(loc, t_l*0.5)  
        alex.up()  
    # Draw the y tick marks         
    n_y_ticks = int((y_max - y_min)/y_t_space) + 1  
    for tick in range(n_y_ticks):  
        loc = y_min + tick*y_t_space  
        alex.up()  
        alex.goto(-t_l*0.5, loc)  
        alex.down()  
        alex.goto(t_l*0.5, loc)  
        alex.up()  
    # Plot the function points  
    alex.color('blue')  
    alex.up()  
    for tick in range(n_x_ticks):  
        x = x_min + tick*x_t_space  
        alex.goto(x, x*x/10 - 5)  
        alex.dot(2)  
    # always the last line      
    wn.exitonclick()  
  • Activity 2: Use the random and turtle modules to write a program that generates and plots the random motion of a turtle.

    • Use the method wn.setworldcoordinates(x_min, y_min, x_max, y_max) to set the coordinates using x_min = y_min = -30, and x_max = y_max = 30.

    • Draw a set of axis in black. Use a tick spacing of 5 units for both axes.

    • Using a for loop, have the turtle’s direction determined in a random fashion among four directions : east, south, west, and north. For each step, have the turtle move forward 2 units. Use the range function with a range of 20 loops to begin. Have the turtle plot print a dot() at the end of each step. The size of the dot’s diameter can be set with an integer input. A value of 6 or 8 maybe good.

  • Activity 3:

    • Modify the program in the previous activity to include the randomization of the turtle’s step length. A random length must be taken for the continuous interval of [0.5, 3.0)

    • Modify the program so that the color of the turtle’s path is randomly selected for each step.

    • Modify the program so that the number of possible directions may be set using a single parameter called “n_dirs”

\(\boxdot\) Lab Quiz 2 Comments
  • Coding Exercise 1

    import random
    
    
    total = 0  
    for i in range(10):  
        number = 1 + random.random()*4  
        print(number)  
        total += number  
    print("Average =", total / 10)