# Пункт 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'