Difference between revisions of "CSC111 Homework 4 2011"

From dftwiki3
Jump to: navigation, search
(First, explore the Python random module)
(Generate a random number)
Line 44: Line 44:
  
 
===Generate a random number===
 
===Generate a random number===
The  [http://docs.python.org/py3k/library/random.html?highlight=random#examples-and-recipes Examples and Recipes] section of the documentation of the random module also shows that you can pick
+
* The  [http://docs.python.org/py3k/library/random.html?highlight=random#examples-and-recipes Examples and Recipes] section of the documentation of the random module also shows that you can pick a random number in a range.  For example, if you want an ''even'' random number between 0 and 100, included, you can do this:
 +
 
 
  random.randrange(0, 101, 2)          # Even integer from 0 to 100
 
  random.randrange(0, 101, 2)          # Even integer from 0 to 100
26
+
 
 +
* Try it:
 +
<br />
 +
<section lang="python">
 +
import random
 +
 
 +
def main():
 +
    # generate 10 random even numbers between 0 and 100:
 +
    for i in range( 10 ):
 +
        x = random.randrange( 0, 101, 2 )
 +
        print( "x = ", x )
 +
 
 +
main()
 +
 
 +
</section>

Revision as of 12:49, 4 October 2011

--D. Thiebaut 12:42, 4 October 2011 (EDT)


Page under construction!
UnderConstruction.jpg

Mondrian

Mondrian1.jpg

Piet Mondrian is famous for his very geometric paintings with simple colors with mostly white, red, yellow and blue rectangles between black lines. This style has been applied to many different articles, as shown below.

Mondrain2.jpg

This assignment is inspired by this style and asks you to write a graphics program that will display 1000 random rectangles filled with random colors.

First, explore the Python random module

Pick an item at random in a list

  • The random module is a standard module in Python. It is part of the language and can be used to generate randomness. Actually, pseudo-randomness, because all randomness generated by programs cannot be purely random, since it is always based on some mathematical algorithm.
  • Visit the official python.org documentation on the random module, and in particular scroll down to the Examples and Recipes section. It shows many different ways to get random information.
  • For example. If I wanted to pick a random color out of a set of colors, here's a way we could do it:



import random

def main():
    colors = ["blue", "red" ]

    for i in range( 10 ):
        print( random.choice( colors ) )


main()



I have used a for-loop just to test the choice() function several times, and verify that it picks a random color every time.
  • By the way, a list of the color names that are recognized by the graphics module is available here.
  • Add a few more colors to your list and run your program again. See that it picks them at random?

Generate a random number

  • The Examples and Recipes section of the documentation of the random module also shows that you can pick a random number in a range. For example, if you want an even random number between 0 and 100, included, you can do this:
random.randrange(0, 101, 2)          # Even integer from 0 to 100
  • Try it:


<section lang="python"> import random

def main():

   # generate 10 random even numbers between 0 and 100:
   for i in range( 10 ):
        x = random.randrange( 0, 101, 2 )
        print( "x = ", x )

main()

</section>