0% found this document useful (0 votes)
11 views

Random Files

This document discusses random numbers and files. It covers why we want to generate random numbers, how computers are designed to be predictable so pseudorandom numbers are used instead. It discusses the Python random module and provides examples of using random numbers. It also discusses reading from and writing to text files in Python by opening the file, reading/writing lines, and closing it. Examples are given of filtering names from files and generating random text to files. The homework is to generate a table of contents from Alice in Wonderland chapters.

Uploaded by

austersetas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Random Files

This document discusses random numbers and files. It covers why we want to generate random numbers, how computers are designed to be predictable so pseudorandom numbers are used instead. It discusses the Python random module and provides examples of using random numbers. It also discusses reading from and writing to text files in Python by opening the file, reading/writing lines, and closing it. Examples are given of filtering names from files and generating random text to files. The homework is to generate a table of contents from Alice in Wonderland chapters.

Uploaded by

austersetas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Random Numbers

and Files
Dr. Baldassano
[email protected]
Yu’s Elite Education
Homework: Compute square
root of number
 If r is the square root of X, then
r = X/r
 Can find r by starting with a guess, then keep
averaging r and X/r
X = 10
r=1
r = (r + X/r)/2 = 5.5
r = (r + X/r)/2 = 3.659…

Random Numbers

 Why would we want to generate random


numbers?
 Simulating the real world
 Testing a program
 Art and games
 Cryptography and security
 Initializing algorithms
Generating randomness

 Computers are designed to be totally


predictable – how can we get randomness?
 Use a real-world measurement:
www.random.org uses atmospheric noise
 Downside: need some real-world
sensor, limited number of random
numbers per second
 Use “pseudo-random” numbers
 Wewill generate a stream of numbers
that are predictable but look random
Pseudorandom Numbers

 One method: Linear congruential generator


X0 = 1
X1 = (231-1)*X0 % 48271
X2 = (231-1)*X1 % 48271
X3 = (231-1)*X2 % 48271
X4 = (231-1)*X3 % 48271
Pseudorandom Numbers

 Python uses a pseudorandom generator called


the “Mersenne Twister”
 Like LCG, we give it some “seed” value to get
it started, and then it will generate a series
of numbers based on that seed
Python Random Module

 import random
 Main functions:
 random.seed(a=None)
 random.randint(a,b)
 random.uniform(a,b)
 random.shuffle(x)
Examples

 RPG battle engine


 Random music using winsound.Beep
 Deal from a deck of cards
 Dizzy turtle
Using files

 How do we get information into and out of


our programs?
 So far: typing input, printing output to screen
 For bigger chunks of data, we’ll need to read
and write to files on disk
Reading from a text file

 Very easy in python, just two steps


 tFile = open(filename.txt, ‘r’)
 lines = tFile.readlines()
Examples

 Filter first names


 Check for common passwords
Writing to text file

 To write to a file, we open it in “write” mode


 outFile = open(filename.txt, ‘w’)
 outFile.write(‘First Line\n’)
 outFile.write(‘Second Line\n’)
 outFile.close()
Examples

 Combine random first and last names, write


to file
 Generate nonsense text
Homework: Table of Contents

 Download Alice in Wonderland text file from


the course website
 Write a TableOfContents.txt file with all the
chapter names from the book

You might also like