Contents

  1. daysOfWeek.py
  2. friends.py
  3. handling_bad_input.py
  4. pick4num.py

daysOfWeek.py 1/4

[
top][prev][next]
# Example illustrating list operations: concatenation and iteration
# by Sara Sprenkle

weekDays = ["Mon", "Tue", "Wed", "Thu", "Fri"]
weekendDays = ["Sat", "Sun"]

# combine two lists into one
daysOfWeek = weekDays + weekendDays

print("The Days of the Week:")

# iterate through elements of list
for day in daysOfWeek:
    print(day)

print("\nAGAIN!")

# iterate through positions of list
for x in range(len(daysOfWeek)):
    print(daysOfWeek[x])

print()  
# reorganizing days of week to start on a Sunday
daysOfWeek = weekendDays[-1:] + weekDays + weekendDays[:1]

extractWeekend = daysOfWeek[:1] + daysOfWeek[-1:]
print("Extracted weekend: ", extractWeekend)

extractWeekend2 = [daysOfWeek[0], daysOfWeek[-1]]
print("Extracted weekend: ", extractWeekend2)

notExtractedWeekend = daysOfWeek[0] + daysOfWeek[-1]
print("Does not work: ", notExtractedWeekend)

friends.py 2/4

[
top][prev][next]

friends = ["Alice", "Bjorn", "Cayman", "Duanphen", "Esfir", "Farah"]

for name in friends:
    print("I know " + name + ".")
    print("{:s} is a friend of mine.".format(name))
print("Those are the people I know.")

# alternative
#for pos in range(1, len()):

handling_bad_input.py 3/4

[
top][prev][next]
# Demonstrates a better way to handle multiple bad inputs
# Extra program, not covered in class.  Another example to
# help improve your coding skills.
# by Sara Sprenkle

WMIN = 2
WMAX = 80
HMIN = 2
HMAX = 20

WIDTH_INPUT = "Enter a width (" + str(WMIN) + "-" + str(WMAX) + "): "
HEIGHT_INPUT = "Enter a height (" + str(HMIN) + "-" + str(HMAX) + "): "

width = eval(input(WIDTH_INPUT))
height = eval(input(HEIGHT_INPUT))

error = False
errorMessage = "\nError: \n"

# What does the following code do?
# Why do I consider this a better way to handle multiple bad inputs?
if width < WMIN or width > WMAX:
    error = True
    errorMessage += "\tWidth (" +str(width) + ") is not within range (" + str(WMIN) + "-" + str(WMAX) + ")\n"
    
if height < HMIN or height > HMAX:
    error = True
    errorMessage += "\tHeight (" +str(height) + ") is not with range ("+ str(HMIN) + "-" + str(HMAX) + ")\n"
    
if error:
    print(errorMessage)    



pick4num.py 4/4

[
top][prev][next]
# Simulate Pick 4 lottery game - selecting ping pong balls at random
# Modified to figure out if the user entered the winning number
# Demonstrates what I consider to be better error handling.
# By CSCI111

from random import *
import sys

# define constants that are easy to change so that our
# program is flexible
NUM_PICKS = 4
MIN_VALUE = 0
MAX_VALUE = 9

NUMFORMAT="####"

pickedNum = input("What is your pick? (Format: " + NUMFORMAT + ") ")

######  handle bad input ######
error = True
errorMessage = "Error:\n"

# Check that user enters a string that contains only numbers
if not pickedNum.isdigit():
    errorMessage += "\tYour number must contain only numbers\n"
    error = True

# User enters a number that is not four digits long
if len(pickedNum) != NUM_PICKS:
    errorMessage += "\tYour number must contain " + str(NUM_PICKS) + " numbers"
    error = True
    
if error:
    print(errorMessage)
    sys.exit()
    
# Generate the random number
winningNum = "" # start it as empty

for i in range(NUM_PICKS):
    # generate a random number
    # add the random number to the previous random number
    winningNum += str(randint(MIN_VALUE,MAX_VALUE))

print("The winning Pick 4 lottery number is ", winningNum)
print()

if winningNum == pickedNum:
    print("Congratulations!  You are very lucky and rich!")
    print("We should be friends!")
else:
    print("Sorry, you lost.")

Generated by GNU Enscript 1.6.6.