# Programming In Python CS21A – collegepaperslab.com | Instant Assignment Help

Programming In Python CS21A – collegepaperslab.com | Instant Assignment Help

– Computer Science

Programming in Python                                            CS21A

Lab 4:  Lists and Tuples – Files (25 points)

Learning Objectives for this lab include:

 Understand list basics including elements and subscripts.

 Learn how to find high and low values of a list.

 Learn how to step through and process the elements of a list.

 Learn how to pass lists as arguments to a function.

 Learn how to write lists in Python code.

 Open a text file for output and write strings or numbers to the file

 Open a text file for input and read strings or numbers from the file

An array is called a list in Python.  A list is an object that contains multiple data items. Lists are

mutable, which means that their contents can be changed during a program’s execution. Lists are

dynamic data structures, meaning that items may be added to them or removed from them.

Index or subscript starts at 0 in Python.

Numeric Arrays

Elements of an array can be defined as follows if the values are known:

even_numbers = [2, 4, 6, 8, 10]

If the numbers are not known at the beginning, use the repetition operator (*) to create a list with

a specific number of elements, each with the same example.  The following will create an array

of 10 elements all set to 0 in the beginning.

numbers = [0] * 10

String Arrays

Elements of a string array are initialized as follows:

names = [‘Molly’, ‘Will’, ‘Alicia’, ‘Adriana’]

Printing Values of the Array

This can be done in one sequence by the following:

print (even_numbers)

The will result in the list printing as follows:  [2, 4, 6, 8, 10].

Using Loops and Index

In most cases, a loop should be used to get values in or out of an array.  This will allow a specific

index to be specified.  A for loop or a while loop will work.

The for loop

numbers = [99, 100, 101, 102]

for n in numbers:

print(n)

The while loop

index = 0

while index < 4:

print (my_list[index])

index += 1

Lists and Tuples

– Lists are mutable; tuples are immutable.

– Lists and tuples are sequences.

– Lists allow assignment: L[3] = 7

Tuples do not.

Standard operations:

– length function: len(L)

– membership: in

– max and min: max(L) and min(L)

– sum: sum(L)

Indexing and Slicing

Given: L = [‘b’,  7,  6,  5,[2,9,1],5.5]

– Tuples work the same with indexing and slicing.

– Indexing starts at 0: L[0] is ‘b’.

– Negative indices work backward from the end: L[-1] is 5.5.

– Slicing selects a subset up to but not including the ﬁnal index: L[1:4] is [7,6,5].

– Slicing default start is the beginning, so L[:3] is [‘b’,  7,  6].

– Slicing default end is the end, so L[4:] is [[2,  9,  1], 5.5].

– Using both defaults makes a copy: L[:].

– Slicing’s optional third argument indicates step: L[:6:2] is [‘b’,  6, [2,  9,  1]].

– The idiom to reverse a list: L[::-1] is [5.5, [2,  9,  1], 5,  6,  7,  ‘b’].

List Methods (partial list)

Given: L1 = [1,3,2] and L2 = [7,8]

– L1.append(0) changes L1 to be [1,3,2,0].

– L1.append(L2) changes L1 to be [1,3,2,[7,8]].

– L1.extend(L2) changes L1 to be [1,3,2,7,8].

– L1.sort() changes L1 to be [1,2,3].

– L1.insert(2,11) inserts 11 before index 2, so L1 becomes [1,3,11,2].

– L1.remove(3) removes 3, so L1 becomes [1,2].

– L1.reverse() changes L1 to be [2,3,1].

– L1.pop() pops 2 off, so L1 becomes [1,3] and returns 2.

Programming in Python                                            Summer 2014

CS21A             June 30, 2014

Methods Shared by Lists and Tuples (partial list)

Given: L1 = [1,3,2] and L2 = [7,8]

– L1.index(3) returns the index of item 3, which is 1.

– L1.count(1) counts the number of 1’s in L1: 1 in this case.

Writing to a File

When writing to a file, an internal file name must be created, such as outFile.

This file must then be opened using two arguments.  The first argument is the name of the file

and the second is the mode you want to open the file in.  You can select either the ‘a’ append

mode or the ‘w’ write mode.  For example:

outFile = open(‘filename.txt’, ‘w’)

Files must then be closed.  This works the same for both input and output.

outFile.close()   or    inFile.close()

When reading from a file, an internal file name must be created such as inFile.

This file must then be opened using two arguments.  The first argument is the name of the file

and the second is the mode you want to open the file in, ‘r’ for read.  For example:

inFile = open(‘filename.txt’, ‘r’)

Reading from a file is done sequentially in this lab, and a call to read must occur.  If a string

header is done first, that must be read into a string variable.  That variable can then be used for

processing within the program.

A string literal can be read from a file and displayed to the screen such as:

print (str1)

Arrays and variables can be read as a single input such as:

print (arrayName)

Lab 4.1: Total Sales [10 points]

1. Open the program TotalSales.py file.

2. Fill in the code so that the program will do the following:

 Ask the user to enter a store’s sales for each day of the week.

 The amounts should be stored in a list.

 Use a loop to calculate the total sales for the week and display the result.

Save the code to a file by going to File         Save.

Python Code:

def main():

# Variables

total_sales = 0.0

# Initialize lists

daily_sales = [0.0,0.0,0.0,0.0,0.0,0.0,0.0]

days_of_week = [“Sunday”,”Monday”, “Tuesday”, “Wednesday”, “Thursday”,

“Friday”, “Saturday”]

”’Fill in this space to ask the user to enter a store’s sales for each

day of the week. The amounts should be stored in a list.

Use a loop to calculate the total sales for the week and display the

result”’

print (“Total sales for the week: \$”, format(total_sales, ‘.2f’), sep=”)

main()

Here is a sample run of the program:

Enter the sales for Sunday: 56

Enter the sales for Monday: 23

Enter the sales for Tuesday: 67

Enter the sales for Wednesday: 23

Enter the sales for Thursday: 42

Enter the sales for Friday: 78

Enter the sales for Saturday: 23

Total sales for the week: \$312.00

Lab 4.2 – Charge Account Validation [15 points]

1. Open the program AccountValidation.py file.

2. Fill in the code so that the program will do the following:

 Read the contents of the file into a list.

 Ask the user to enter a charge account number.

 Determine whether the number is valid by searching for it in the list. If the number is

in the list, the program should display a message indicating the number is valid. If the

number is not in the list, the program should display a message indicating the number

is invalid.

The file charge_accounts.txt has a list of a company’s valid charge account numbers. Each

account number is a seven-digit number, such as  5658845 .

Save the code to a file by going to File         Save.

Python Code:

def main():

# Local variables

test_account = ”

# Open the file for reading

input_file = open(‘charge_accounts.txt’, ‘r’)

# Read all the lines in the file into a list

# Strip trailing ‘n’ from all elements of the list

for i in range(len(accounts)):

accounts[i] = accounts[i].rstrip(‘n’)

# Fill in this space to get user input

# Fill in this space to use in operator to search for the

# account specified by user

# Call the main function.

main()

Here is a sample run of the program:

Enter the account number to be validated: 56

Account number 56 is not valid.

Enter the account number to be validated: 5658845

Account number 5658845 is valid.

Submission

1. Include the standard program header at the top of your Python file.

2. Submit your files to Etudes under the “Lab 04“ category.

TotalSales.py

AccountValidation.py

Each programming assignment should have the following header, with italicized text

appropriately replaced.

Note: You can copy and paste the comment lines shown here to the top of your assignment each

time. You will need to make the appropriate changes for each lab (lab number, lab name, due

date, and description).

”’

* Program or Lab #: Insert assignment name

* Due: Insert due date

* CS21A, Summer 2014

* Description: (Give a brief description for Lab4)

Lab 5: Strings – sets and dictionaries (25 points)

This lab will give you some experience with strings and sets.

Lab 5.1:   Character Analysis [12 points]

1. Open the Python program CharacterAnalysis.py.

2. Fill in the code so that the program will do the following:

 Read the file’s contents (text.txt) and determines the following:

o The number of uppercase letters in the file

o The number of lowercase letters in the file

o The number of digits in the file

o The number of whitespace characters in the file

3. Save the code to a file by going to File         Save.

Python File:

def main():

# Local variables

num_upper = 0

num_lower = 0

num_space = 0

num_digits = 0

data = ”

# Open file text.txt for reading.

infile = open(‘text.txt’, ‘r’)

# Read in data from the file.

# Fill in this space to step through each character in

# the file.

# Determine if the character is uppercase,

# lowercase, a digit, or space, and keep a

# running total of each.

# Close the file.

infile.close()

# Display the totals.

# Call the main function.

Main()

Here is a sample run:

Uppercase letters: 29

Lowercase letters: 1228

Digits: 30

Spaces: 260

Lab 5.2:  Unique Words [13 points]

1. Open the Python program UniqueWords.py.

2. Fill in the code so that the program will do the following:

 Open a specified text file

 Then displays a list of all the unique words found in the file.

Hint: Store each word as an element of a set.

3. Save the code to a file by going to File         Save.

Python File:

def main():

# Get name of input file.

input_name = input(‘Enter the name of the input file: ‘)

# Open the input file and read the text.

input_file = open(input_name, ‘r’)

words = text.split()

# Fill in this space to create set of unique words.

# Fill in this space to print the results.

# Close the file.

input_file.close()

# Call the main function.

main()

Submission

1. Include the standard program header at the top of your Python file.

2. Submit your files to Etudes under the “Lab 5 “ category.

CharacterAnalysis.py

UniqueWords.py

Each programming assignment should have the following header, with italicized text

appropriately replaced.

Note: You can copy and paste the comment lines shown here to the top of your assignment each

time. You will need to make the appropriate changes for each assignment (assignment number,

due date, and description).

”’

* Program or Lab #: Insert assignment name

* Due: Insert due date

* CS21A, Summer 2014

* Description: (Give a brief description for Lab 5)

”’

# WHY SHOULD YOU HIRE EXPERT ACADEMIC WRITERS?

Answering this question is not essay as it seems. It will require you to research or burn your brainpower, write your findings down, edit, proofread severally, and submit unsure of the grade you will get. Collegepaperslab.com assignment writers are offering to take care of that. Order your assignment now, relax, submit, and enjoy excellent grades. We guarantee you 100% original answers, timely delivery, and some free products.