форкнуто от main/python-labs
main
Родитель
f307214522
Сommit
a621ace813
@ -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<class 'int'>
|
||||||
|
|
||||||
|
Если вызвать эту функцию без аргументов, вернется ошибка:
|
||||||
|
|
||||||
|
>>> 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)
|
||||||
|
<class 'str'>
|
||||||
|
|
||||||
|
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
|
||||||
|
<class 'int'>
|
||||||
|
|
||||||
|
>>> type(eval(input('введите выражение для расчета = ')))
|
||||||
|
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
|
||||||
|
<class 'float'>
|
||||||
|
|
||||||
|
# Пункт 4. Ввод-вывод при работе с файлами.
|
||||||
|
## Пункт 4.1. Функции для работы с путём к файлу.
|
||||||
|
|
||||||
|
>>> import os
|
||||||
|
>>> os.getcwd()
|
||||||
|
'C:\\WINDOWS\\System32'
|
||||||
Загрузка…
Ссылка в новой задаче