121k views
1 vote
Read_file = open('numbers.txt', 'r')

file_numbers = read_file.read()
read_file.close()
list_values = file_numbers.split()
list_length = len(list_values)

for i in range(list_length):
list_values[i] = float(list_values[i])

List_sum = sum(list_values)

Average_value = (List_sum)/list_length

print(Average_value)

Problem:

Modify the program you wrote for Chapter 6 Exercise 6 so it handles the following
exceptions:
• It should handle IOError exceptions that are raised when the file is opened
and data is read from it by printing "Trouble opening file. Try again." and
not executing any more of the code.
• It should handle any ValueError exceptions that are raised when the items
that are read from the file are converted to a number by printing "File must have
only numbers. Try again." and not executing any more of the code.

User Isturdy
by
5.5k points

1 Answer

5 votes

Answer:

To do that, use exception handling

Step-by-step explanation:

Try:

read_file = open('numbers.txt', 'r')

file_numbers = read_file.read()

except IOError exceptions:

print("Trouble opening file. Try again")

read_file.close()

list_values = file_numbers.split()

list_length = len(list_values)

for i in range(list_length):

list_values[i] = float(list_values[i])

except ValueError:

print("File must have only numbers. Try again.")

List_sum = sum(list_values)

Average_value = (List_sum)/list_length

print(Average_value)

User McGrady
by
5.5k points