diff --git a/less_5_home_1.py b/less_5_home_1.py new file mode 100644 index 0000000..96496fa --- /dev/null +++ b/less_5_home_1.py @@ -0,0 +1,15 @@ +# Создать программно файл в текстовом формате, записать в него построчно данные, +# вводимые пользователем.Об окончании ввода данных свидетельствует пустая строка. +my_list = [] +while True: + line = input("Введите что-нибудь: ") + if line == '': + print(my_list) + + else: + newline = line + '\n' + my_list.append(newline) + + with open("les5_1.txt", "w") as file_obj: + file_obj.writelines(my_list) + diff --git a/less_5_home_2.py b/less_5_home_2.py new file mode 100644 index 0000000..5f0b0c0 --- /dev/null +++ b/less_5_home_2.py @@ -0,0 +1,15 @@ +#2) Создать текстовый файл (не программно), сохранить в нем несколько строк, +# выполнить подсчет количества строк, количества слов в каждой строке + +my_list = ['Hello\n', 'Hi\n', 'Privet\n'] +with open("test_1.txt", 'w+') as file_obj: + file_obj.writelines(my_list) +with open("test_1.txt") as file_obj: + lines = 0 + letters = 0 + for line in file_obj: + lines += line.count("\n") + letters = len(line)-1 + + print(f"{letters} letters in line") + print(f"String count is {lines}") \ No newline at end of file diff --git a/less_5_home_3.py b/less_5_home_3.py new file mode 100644 index 0000000..39c0a75 --- /dev/null +++ b/less_5_home_3.py @@ -0,0 +1,29 @@ +# 3) Создать текстовый файл (не программно), построчно записать фамилии +# сотрудников и величину их окладов (не менее 10 строк). +# Определить, кто из сотрудников имеет оклад менее 20 тыс., +# вывести фамилии этих сотрудников. Выполнить подсчет средней величины +# дохода сотрудников. + +firm = {'Black': 170, 'Smith': 210, 'Potter': 190, 'Green': 150} +try: + file_obj = open("test_3.txt", 'w') + for last_name, salary in firm.items(): + file_obj.write(last_name + ':' + str(salary) + "\n") +except IOError: + print("Произошла ошибка ввода-вывода!") +finally: + file_obj.close() +summa = 0 +count = 0 +persons = [] +with open("test_3.txt", "r") as file_obj: + for line in file_obj: + print(line, end="") + tokens = line.split(':') + if int(tokens[1]) <= 200: + persons.append(tokens[0]) + summa += int(tokens[1]) + count += 1 +result = summa / count +print(f"persons: {persons}") +print(f"averate: {result}") diff --git a/less_5_home_5.py b/less_5_home_5.py new file mode 100644 index 0000000..040c05d --- /dev/null +++ b/less_5_home_5.py @@ -0,0 +1,18 @@ +# Создать (программно) текстовый файл, записать в него программно +# набор чисел, разделенных пробелами. Программа должна +# подсчитывать сумму чисел в файле и выводить ее на экран. + + +def summary(): + try: + with open('file_5.txt', 'w+') as file_obj: + line = input('Введите цифры через пробел \n') + file_obj.writelines(line) + my_numb = line.split() + + print(sum(map(int, my_numb))) + except IOError: + print('Ошибка в файле') + except ValueError: + print('Неправильно набран номер. Ошибка ввода-вывода') +summary() \ No newline at end of file