Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

PYTHON 8. # [ ] Complete the function `delete_files` so the program deletes all the files in the `files_exercises` directory # Make sure the to

PYTHON

8. # [ ] Complete the function `delete_files` so the program deletes all the files in the `files_exercises` directory

# Make sure the to run the environment setup code before running your own program.

import os

def delete_files(to_be_deleted):

"""

Remove all the files listed in `to_be_deleted` and leave the directories.

args:

to_be_deleted: list of paths

returns:

None

"""

#TODO: Your code goes here

pass

# list the content of `files_exercises`

print('Content of "files_exercises" before removing the files')

print(os.listdir())

# Delete all files in `files_exercises`

delete_files(os.listdir())

# list the content of `files_exercises`

print('Content of "files_exercises" after removing the files')

print(os.listdir())

9. # [ ] The following program is designed to remove all files in `files_exercises` that contain a number divisible by 3 on the first line.

# To complete the program, you need to:

# 1) complete the function `delete_files` as you did in a previous exercise

# 2) iterate over all content in `file_exercises`:

# 2.1) if an element in the directory is a file open it for reading using `with` statement

# 2.2) read the first line in the file

# 2.3) if the first line contains a number divisible by 3, add the file name to the `to_be_deleted` list

# 2.4) your code should handle exception appropriately (i.e. a blank file or a file containing a string in the first line)

# 3) make sure the to run the environment setup code before running your own program.

# The output of your program should look like:

'''

Unexpected error found in 49.txt: invalid literal for int() with base 10: ''

Deleting matching files:

------------------------------

Removing 15.txt

Removing 16.txt

Removing 18.txt

Removing 19.txt

Removing 20.txt

Removing 23.txt

Removing 28.txt

Removing 35.txt

Removing 39.txt

Removing 40.txt

Removing 44.txt

Removing 46.txt

Removing 5.txt

Removing 51.txt

Removing 52.txt

Removing 54.txt

Removing 55.txt

Removing 58.txt

Removing 59.txt

Removing 65.txt

Removing 67.txt

Removing 68.txt

Removing 69.txt

Removing 71.txt

Removing 73.txt

Removing 77.txt

Removing 80.txt

Removing 81.txt

Removing 85.txt

Removing 87.txt

Removing 91.txt

Removing 94.txt

Removing 95.txt

Removing 96.txt

'''

import os

def delete_files(to_be_deleted):

"""

Remove all the files listed in `to_be_deleted` and leave the directories.

args:

to_be_deleted: list of paths

returns:

None

"""

#TODO: Copy code from previous exercise

pass

# list the content of `files_exercises`

print('Content of "files_exercises" before removing the files')

print(os.listdir())

print(30 * "-")

# clearing (49.txt) so an exception is raised below as a result of int( )

# opening a file without doing anything clears it!

with open('49.txt', 'w') as file: pass

to_be_deleted = []

#TODO: iterate over directory content and store file names containing numbers divisible by 3 in `to_be_deleted` list

print()

print("Deleting matching files:")

print(30 * "-")

delete_files(to_be_deleted)

10. # [ ] Write a program to:

# 1) ask the user for a number between 1000 and 9999

# 2) test if the number matches the first line of any file in `files_directory`

# 3) if a match was found, print the file name; otherwise, print no match is found

# 4) your code should handle exception appropriately (i.e. a blank file or a file containing a string in the first line)

# 5) you should use `with` statement for opening/closing files

# 6) make sure the to run the environment setup code before running your own program.

# test cases:

# 3932, should print out: Match found in 74.txt : 3932

# 2177, should print out: Match found in 27.txt : 2177

# 4932, should print out: No matching files found

11. # [ ] The tuples `x` and `y` contain the (x, y) coordinates of 10 points.

# Write a program to create a single tuple `coordinates` that contains 10 sub-tuples of the (x, y) coordinates

# The final tuple should look like:

# ((75, 57), (77, 6), (55, 64), (93, 36), (41, 63), (62, 53), (70, 26), (30, 71), (74, 88), (97, 66))

x = (75, 77, 55, 93, 41, 62, 70, 30, 74, 97)

y = (57, 6, 64, 36, 63, 53, 26, 71, 88, 66)

12. # [ ] Write a program to merge the two sorted tuples T1, T2 into a larger (also sorted) tuple T

# Output should be:

#Merged sorted tuple:

#(12, 13, 15, 20, 20, 26, 30, 37, 40, 55, 60, 68, 72, 78, 81, 84, 89, 97, 97, 100)

# sorted tuples

T1 = (15, 20, 30, 37, 55, 60, 78, 81, 84, 100)

T2 = (12, 13, 20, 26, 40, 68, 72, 89, 97, 97)

13. # [ ] Complete the function `simple_stats` so it returns:

# 1) The maximum number in the tuple T

# 2) The minimum number in the tuple T

# 3) The average of the numbers in the tuple T

def simple_stats(T):

#TODO: your code goes here

pass

T = (257, 462, 18, 369, 415, 994, 541, 752, 78, 895, 0, 576, 40, 552, 438, 605, 54, 296, 433, 986, 685, 651, 523, 855, 777, 437, 65, 360, 265, 858, 260, 819, 586, 358, 860, 250, 531, 7, 801, 259, 155, 376, 374, 828, 475, 62, 52, 184, 186, 283, 643, 86, 472, 267, 692, 750, 948, 683, 452, 770, 322, 492, 871, 360, 88, 883, 764, 288, 383, 411, 679, 90, 857, 802, 974, 403, 798, 990, 475, 260, 289, 438, 873, 779, 895, 939, 462, 469, 183, 520, 366, 267, 896, 732, 303, 754, 195, 949, 546, 180)

# unpacking and displaying the returned values

largest, smallest, average = simple_stats(T)

print("Maximum number in T:", largest)

print("Minimum number in T:", smallest)

print("Average of numbers in T:", average)

14. # [ ] Complete the function `longer` to compare and return the longest of 2 tuples

def longer(T1, T2):

"""

Return the longer of two tuples

args:

T1: tuple of arbitrary length

T2: tuple of arbitrary length

returns:

T1: if T1 is longer than T2

T2: if T2 is longer or the same length as T1

"""

#TODO: Your code goes here

pass

T1 = (98, 84, 71, 87, 54, 16, 70, 62, 1, 29, 66, 1, 74, 71, 68, 58, 65, 75, 74, 77, 94, 19, 46)

T2 = (62, 30, 58, 75, 0, 61, 37, 93, 40, 33, 93, 94, 72, 27, 92, 75, 38, 70, 99, 74, 89, 8, 42, 32, 4, 60, 5)

print("The longer tuple is:")

print(longer(T1, T2))

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Focus On Geodatabases In ArcGIS Pro

Authors: David W. Allen

1st Edition

1589484452, 978-1589484450

More Books

Students also viewed these Databases questions

Question

How do Data Types perform data validation?

Answered: 1 week ago

Question

How does Referential Integrity work?

Answered: 1 week ago