diff --git a/TEMA4/test.py b/TEMA4/test.py new file mode 100644 index 0000000..9acd91d --- /dev/null +++ b/TEMA4/test.py @@ -0,0 +1,9 @@ +import time +import math +import cmath + +dat = time.localtime() +print(f"Текущая дата: {dat.tm_mday}-{dat.tm_mon}-{dat.tm_year}") + +hz = 5-2j +exec(input('Введите функцию: ')) diff --git a/TEMA5/test.py b/TEMA5/test.py new file mode 100644 index 0000000..f725ee3 --- /dev/null +++ b/TEMA5/test.py @@ -0,0 +1,17 @@ +""" +Задание: Запросите у пользователя ввод списка с двумя числовыми элементами. Обеспечьте проверку корректности ввода (что введено, действительно, два элемента) и проверку совпадения знаков у введенных чисел. +Если проверка дала негативный результат, выдать сообщение и обеспечить повторение ввода. Если все хорошо, отобразить введенный список с заголовком. +""" +sps = [] +fl = True +while fl: + n = int(input()) + sps.append(n) + if (sps[0]>0 and sps[1]<0) or (sps[0]<0 and sps[1]>0): + print("Знаки должны совпвдвть") + sps.pop() + continue + if len(sps)==2: + break +print(sps) + diff --git a/TEMA6/report.md b/TEMA6/report.md index 8f30808..a090aed 100644 --- a/TEMA6/report.md +++ b/TEMA6/report.md @@ -8,14 +8,15 @@ ## 2. Вывод данных на экран дисплея -2.1. Вывод в командной строке - +**2.1. Вывод в командной строке** +```python stroka='Автоматизированная система управления' stroka 'Автоматизированная система управления' +``` -2.2. Вывод с использованием функции print - +**2.2. Вывод с использованием функции print** +```python stroka='Автоматизированная система управления' stroka 'Автоматизированная система управления' @@ -35,17 +36,20 @@ print("Здесь может выводиться", "большой текст,", "занимающий несколько строк") Здесь может выводиться большой текст, занимающий несколько строк +``` -2.3. Вывод с использованием метода write объекта sys.stdout +**2.3. Вывод с использованием метода write объекта sys.stdout** +```python import sys sys.stdout.write('Функция write')//это файловый объект, который представляет стандартный вывод программы; функция write выводит количесто символов Функция write13 sys.stdout.write('Функция write\n') Функция write 14//количество символов увеличилось на +1, так как /n - это тоже отдельныйы символ +``` ## 3. Ввод данных с клавиатуры - +```python psw=input('Введите пароль:') Введите пароль:1234 psw;type(psw) @@ -67,11 +71,12 @@ import math print(eval(input('введите выражение для расчета = '))) введите выражение для расчета = math.log10(23/(1+math.exp(-3.24))) 1.34504378689765 +``` ## 4. Ввод-вывод при работе с файлами. -4.1. Функции для работы с путем к файлу - +**4.1. Функции для работы с путем к файлу** +```python import os os.getcwd() //функция показывает, какой рабочий каталог установлен в текущий момент времени(cwd = current working directory) 'C:\\Program Files\\Python311' @@ -102,8 +107,10 @@ os.path.exists("C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\mkdir") os.path.isfile(fil) \\проверяет наличие файла в рабочем каталоге True +``` -4.3. Открытие файла для записи или чтения данных – функция open. +**4.3. Открытие файла для записи или чтения данных – функция open.** +```python os.chdir('C:\\Users\\Ilya\\Desktop\\python-labs\\TEMA6') fp=open(file='zapis1.txt',mode='w') @@ -113,13 +120,15 @@ type(fp);dir(fp) ['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'reconfigure', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'write_through', 'writelines'] fp1=open('zapis2.bin',mode='wb+') +``` -4.4. Закрытие файла - +**4.4. Закрытие файла** +```python fp.close();fp1.close() +``` -4.5. Запись информации в файл с помощью метода write - +**4.5. Запись информации в файл с помощью метода write** +```python sps = list(range(1,13)) fp2=open('zapis3.txt','w') fp2.write(str(sps[:4])+'\n') @@ -145,9 +154,10 @@ for r in sps3: 12 13 gh.close() +``` -4.6. Первый способ чтения информации из текстового файла - +**4.6. Первый способ чтения информации из текстового файла** +```python fp = open('zapis3.txt') for stroka in fp: stroka=stroka.rstrip('\n') @@ -158,9 +168,10 @@ for stroka in fp: fp.close() sps1 ['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12'] +``` -4.7. Чтение информации из файла с помощью метода read - +**4.7. Чтение информации из файла с помощью метода read** +```python fp = open('zapis3.txt') stroka1 = fp.read(12); stroka1 \\число показывает количество читаемых символов в txt или количество бит в бит файле '[1, 2, 3, 4]' @@ -168,9 +179,10 @@ stroka2 = fp.read() stroka2 '\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n' fp.close() +``` -4.8. Чтение информации с помощью методов readline и readlines - +**4.8. Чтение информации с помощью методов readline и readlines** +```python fp = open('zapis3.txt', 'r') fp.readline() \\функция читает одну строку '[1, 2, 3, 4]\n' @@ -180,9 +192,10 @@ fp = open('zapis3.txt', 'r') fp.readlines() \\функция читает все строки ['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n'] fp.close() +``` -4.9. Ввод-вывод объектов с использованием функций из модуля pickle - +**4.9. Ввод-вывод объектов с использованием функций из модуля pickle** +```python import pickle \\это модуль в Python для сериализации и десериализации объектов. Он преобразует объекты Python в поток байтов (сериализация) и обратно (десериализация) mnoz1={'pen','book','pen','iPhone','table','book'} fp = open('zapis6.mnz','wb') @@ -207,9 +220,10 @@ obj2 = pickle.load(fp); obj2 sps3 [['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]] fp.close() +``` ## 5. Перенаправление потоков ввода и вывода данных - +```python import sysм \\это импорт встроенного модуля sys, который предоставляет доступ к системным параметрам и функциям, связанным с интерпретатором Python vr_out = sys.stdout fc = open('Stroka.txt', 'w') @@ -234,4 +248,5 @@ while True: запись строки в файл fd.close() -sys.stdin = tmp_in \ No newline at end of file +sys.stdin = tmp_in +``` \ No newline at end of file diff --git a/Tests/test2.md b/Tests/test2.md new file mode 100644 index 0000000..514388b --- /dev/null +++ b/Tests/test2.md @@ -0,0 +1,34 @@ +# Тест по модулю 2 + +**Задание:** +`M2_22` +1. Создайте список с вашей фамилией и 3 фамилиями других студентов вашей группы и список с 4 элементами - средними баллами этих студентов. + +2. Запросите у пользователя и введите имя словаря, который далее будет создаваться. Удалите из этого имени возможные пробелы. + +3. Создайте словарь с введенным именем, в котором ключами будут фамилии студентов из первого списка, а значениями - их средние баллы. + +4. Выведите словарь в бинарный файл с некоторым именем. + +5. Рассчитайте общий средний балл по группе из 4-х указанных студентов. Отобразите рассчитанное значение по шаблону "Общее среднее =<рассчитанное значение>". Выводимое значение округлить до 1 цифры после точки. + +**Программа:** +```python +import pickle + +list_students_1 = ['Ogarkov', 'Butko', 'Efimova', 'Antonov'] +list_marks_1 = [4.9, 4.3, 4.2, 5.0] + +dictionary_2 = input('Введите имя словаря: ').strip() +dictionary_2 = dict(zip(list_students_1, list_marks_1)) +print(dictionary_2) + + +fp_4 = open('zapis.ob', 'wb') +pickle.dump(dictionary_2, fp_4) +fp_4.close() + +list_5 = list(dictionary_2.values()) +srednee_mark = sum(list_5)/len(list_5) +print(f"Общее среднее = {round(srednee_mark, 1)}") +``` \ No newline at end of file diff --git a/Tests/test2.py b/Tests/test2.py new file mode 100644 index 0000000..45afa34 --- /dev/null +++ b/Tests/test2.py @@ -0,0 +1,22 @@ +import pickle + +list_students_1 = ['Ogarkov', 'Butko', 'Efimova', 'Antonov'] +list_marks_1 = [4.9, 4.3, 4.2, 5.0] + +dictionary_2 = input('Введите имя словаря: ').strip() +dictionary_2 = dict(zip(list_students_1, list_marks_1)) +print(dictionary_2) + + +fp_4 = open('zapis.ob', 'wb') +pickle.dump(dictionary_2, fp_4) +fp_4.close() + +list_5 = list(dictionary_2.values()) +srednee_mark = sum(list_5)/len(list_5) +print(round(srednee_mark, 1)) + + + + + diff --git a/Tests/zapis.ob b/Tests/zapis.ob new file mode 100644 index 0000000..3917874 Binary files /dev/null and b/Tests/zapis.ob differ