diff --git a/TEMA6/lab6.md b/TEMA6/lab6.md new file mode 100644 index 0000000..f0eea90 --- /dev/null +++ b/TEMA6/lab6.md @@ -0,0 +1,135 @@ +# Пункт 2. Вывод данных на экран дисплея. +## Пункт 2.1. Вывод данных в командной строке. + +Эхо-вывод в терминал (не работает в файлах!) +>>> stroka='Автоматизированная система управления' +>>> stroka +'Автоматизированная система управления' +# Пункт 2.2 Вывод с использованием функции print +>>> fff=234.5;gg='Значение температуры = ' +>>> print(gg, fff) +Значение температуры = 234.5 +По умолчанию выводимые объекты разделяются одним пробелом. Если нужен другой разде-литель его можно указать в отдельном аргументе sep, например, +>>> print(gg, fff, sep='/') +Значение температуры = /234.5 +После вывода автоматически осуществляется переход на другую строку. Если курсор надо оста-вить в той же строке, то следует использовать еще один аргумент, например, + +>>> print(gg, fff,sep='/',end='***'); print('____') +Значение температуры = /234.5***____ + +После end= надо указать какими символами должна закончиться выводимая строка или ука-зать пустую строку. Наоборот, если в какой-то момент требуется просто перейти на новую стро-ку, можно использовать такое обращение к функции: + +>>> print() + +Если текст большой, можно расположить его в несколько строк с использованием тройных кавычек +>>> print(""" Здесь может выводиться +... большой текст, +... занимающий несколько строк""") + Здесь может выводиться +большой текст, +занимающий несколько строк + +Или переносить отдельные объекты, разделенные запятой: + +>>> print("Здесь может выводиться", +... "большой текст,", +... "занимающий несколько строк") +Здесь может выводиться большой текст, занимающий несколько строк + +Разница в том, что в первом случае тройные кавычки воспроизводят текст ровно так, как он был +введен. В тексте были введены переносы строки, но они были введены не как символ \n, а +в обычном человекопонятном виде. Тем не менее, при желании на них можно посмотреть: + +>> print(repr(""" Здесь может выводиться +большой текст, +занимающий несколько строк""")) +' Здесь может выводиться\nбольшой текст,\nзанимающий несколько строк' + +(Функция repr() показывает то, как объект видит python, а не человек, отображая все символы +табуляции) +Во втором случае три выводимых объекта-строки перечисленны через запятую, и это работает как +обычный print(), разделяющий объекты с помощью пробелов, если не указано иное. + +## Пункт 2.3. Вывод с использованием write объекта stdout (поток стандартного вывода) модуля sys. +>>> import sys +>>> sys.stdout.write('Функция write') +Функция write13 +>>> sys.stdout.write('Функция write\n') +Функция write +14 + +Важно отметить, что функция выводит текст, но возвращает число. Это число - количество +введенных символов, причем \n считается за один символ, а не за два. + +>>> type(sys.stdout.write("Функция write")) +Функция write + +Если вызвать эту функцию без аргументов, вернется ошибка: + +>>> sys.stdout.write() +Traceback (most recent call last): +... +TypeError: write() missing 1 required positional argument: 's' + +Если сообщить пустую строку, то, соответственно, 0. + +>>> sys.stdout.write("") +0 + +## Пункт 3. Ввод данных с клавиатуры. +>>> psw=input('Введите пароль:') +Введите пароль:sewfx +>>> psw +'sewfx' +>>> type(psw) + + +input() не воспринимает символы табуляции, считывая их как обычные строки. Более того, возможно +такое: + +>>> input() +dpdpdp\n +'dpdpdp\\n' + +Так происходит из-за того, что input() считал все символы как символы, то есть "p", "d", ... "\", +"n". Но при выводе в консоль внутри самой функции input() используется вышеупомянутое +"техническое" отображение repr(). Оно всегда дублирует ("экранирует") бэкслеш, чтобы не дать +python'у воспринять его как символ табуляции. + + +>>> while True: +... znach=float(input('Задайте коэф. усиления= ')) +... if znach<17.5 or znach>23.8: +... print('Ошибка!') +... else: +... break +... +Задайте коэф. усиления= 16 +Ошибка! +Задайте коэф. усиления= 26.7 +Ошибка! +Задайте коэф. усиления= 20 + + +>>> import math +>>> print(eval(input('введите выражение для расчета='))) +введите выражение для расчета=math.log10(23/(1+math.exp(-3.24))) +1.34504378689765 + +Введенная через input() строка преобразуется в исполнительные инструкции с помощью eval(), +они потом выполняются и результат выводится на экран. Строка имеет тип, соответствующий +результату вычислений и задаваемый автоматически: +>>> type(eval(input('введите выражение для расчета = '))) +введите выражение для расчета = 2+3 + + +>>> type(eval(input('введите выражение для расчета = '))) +введите выражение для расчета = math.log10(23/(1+math.exp(-3.24))) + + +# Пункт 4. Ввод-вывод при работе с файлами. +## Пункт 4.1. Функции для работы с путём к файлу. + +>>> import os +>>> os.getcwd() +'C:\\WINDOWS\\System32'