форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
83 строки
3.0 KiB
Markdown
83 строки
3.0 KiB
Markdown
1) С помощью текстового редактора создайте текстовый файл с некоторым именем, в котором будет 4 строки и на каждой строке будет по 3 числа, разделенных запятыми.
|
|
>>> import os
|
|
>>> os.getcwd()
|
|
'C:\\WINDOWS\\System32'
|
|
>>> os.chdir(r'C:\\Users\\Admin\\Documents\\Tsvetkova\\python-labs\\TEMA6')
|
|
>>> f = 'data.txt'
|
|
>>> fp = open(f, 'w')
|
|
>>> fp.write("1, 2, 3\n")
|
|
8
|
|
>>> fp.write("4, 5, 6\n")
|
|
8
|
|
>>> fp.write("7, 8, 9\n")
|
|
8
|
|
>>> fp.close()
|
|
>>> fp = open(f, 'r')
|
|
>>> sod = fp.read()
|
|
>>> fp.close()
|
|
>>> print('Содержание лабы:')
|
|
Содержание лабы:
|
|
>>> print(sod)
|
|
1, 2, 3
|
|
4, 5, 6
|
|
7, 8, 9
|
|
|
|
|
|
2) Запросите у пользователя и введите имя файла с данными для обработки. Обеспечьте вывод сообщения при вводе пустой строки и повторный ввод.
|
|
>>> while True:
|
|
... f = input("Введите имя файла с данными для обработки: ")
|
|
... f_cl = f.strip() # Убираем пробелы в начале и конце строки
|
|
... if f_c != "":
|
|
... f = f_c
|
|
... break
|
|
... print("Ошибка: введена пустая строка. Повторите ввод.")
|
|
...
|
|
Введите имя файла с данными для обработки:
|
|
Ошибка: введена пустая строка. Повторите ввод.
|
|
Введите имя файла с данными для обработки: data.txt
|
|
>>> print(f)
|
|
data.txt
|
|
|
|
3) Введите данные из указанного файла и представьте их в виде списка.
|
|
|
|
>>> f='data.txt'
|
|
>>> numbers = []
|
|
>>> fp = open(f, 'r')
|
|
SyntaxError: invalid syntax
|
|
>>> for line in fp:
|
|
... for num_str in line.strip().split(','): #убираем пробелы, разбиваем по запятым
|
|
... numbers.append(float(num_str))
|
|
...
|
|
>>> fp.close()
|
|
>>> print(numbers)
|
|
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
|
|
|
|
4) Рассчитайте по введенным данным среднее значение синусов элементов списка.
|
|
>>> import math
|
|
>>> s=[]
|
|
>>> for number in numbers:
|
|
... ss=math.sin(number)
|
|
... s.append(ss)
|
|
... print(number)
|
|
...
|
|
1.0
|
|
2.0
|
|
3.0
|
|
4.0
|
|
5.0
|
|
6.0
|
|
7.0
|
|
8.0
|
|
9.0
|
|
>>> sum_s=sum(s)
|
|
>>> sum_s
|
|
1.9552094821073802
|
|
>>> count_s=len(s)
|
|
>>> count_s
|
|
9
|
|
>>> sr=sum_s/count_s
|
|
>>> sr
|
|
0.21724549801193113
|
|
5) Выведите рассчитанное значение на экран по шаблону: " По <число элементов в списке> элементам среднее синусов = <рассчитанное среднее>". При этом значение среднего должно быть округлено до двух знаков после точки.
|
|
>>> print("По", count_s, "элементам среднее синусов =", round(sr, 2))
|
|
По 9 элементам среднее синусов = 0.22 |