Раздел 2. Изучение представления чисел и арифметических операций — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Раздел 2. Изучение представления чисел и арифметических операций

2019-12-27 116
Раздел 2. Изучение представления чисел и арифметических операций 0.00 из 5.00 0 оценок
Заказать работу

Изучение Python

по курсу «Дискретная математика и спецглавы математика»

 

Выполнил: студент гр. РТбо  

Проверил                                                                                Матвеев А.И.

 

Таганрог 2019 г

Цель: Ознакомиться с основными операторами и функциями языка Python на конкретных примерах.

В качестве интерпретатора на первых порах можно использовать онлайн сервис Repl.it: https://repl.it/repls/QuarterlyWorthwhileDifference

1. Заходим на официальный сайт Python. В разделе Download нажимаем: «Download Python 3.7.0», тем самым скачивая последнюю версию Python (рекомендуется скачивать версии после 3.4, так как они уже включают в себя «pip»). Скачивается 32-bit версия, но она подходит и для 64-bit систем. Запускаем и устанавливаем программу.

 

Нажимаем кнопку . В разделе «недавно добавленные» либо в перечне папок находим папку Python 3.7.0, открываем ее и щелкаем мышкой строку IDLE Python 3.7.0. Появляется окно Python 3.7.0 Shell. В верхней строке открываем fale и щелкаем мышкой строку New Fale. Появляется окно Untitled. Это рабочее окно в котором набираем код. Копируем из инструкции «индивидуальное задание 1» первое задание1 (см. ниже: Вывести на экран слово «Hello».) и вставляем в окно Untitled правой кнопкой мыши командой «paste». Если нет ошибки в окно Untitled код в виде цветной надписи: print ('Hello'), то верхней строке открываем Run и щелкаем строку Run Module F5. Появляется окошко, в котором спрашивается: сохранить файл? Щелкаете ОК, и выбираете в появившемся окне папку, где сохраняете файл под именем pix1. При этом редактор сохранит файл в кодировке UTF-8 без БОМ (Byte Order Mark, метка порядка байтов). Именно кодировка UTF-8 является кодировкой по умолчанию в Python 3. Если файл содержит инструкции в другой кодировке, то необходимо в первой или второй строке указать кодировку с помощью инструкции:

# -*- coding: <Кодировка> -*-

Например, для кодировки Windows-1251 инструкция будет выглядеть так:

# -*- coding: ср1251 -*-

Редактор IDLE учитывает указанную кодировку и автоматически производит перекодирование

при сохранении файла. После выполнения функции print в командном окне Python 3.7.0 Shell появляется результат: Hello. Аналогичные действия выполняются при выполнении других заданий.

В языке Python в конце строки точку с запятой ставить можно, но не рекомендуется.

В языке Python выделяются блоки. Инструкции, перед которыми расположено одинаковое количество отступов (пробелов), являются телом блока.

i = 1

while i < 11:

    print(i)

    i += 1

print ("Конец программы")

В нашем примере две инструкции выполняются десять раз. Концом блока является инструкция, перед которой расположено меньшее количество пробелов. В нашем случае это функция print (), которая выводит строку "Конец программы". Если количество пробелов внутри блока окажется разным, то интерпретатор выведет сообщение о ошибке,

 

Раздел 1.

Задание 1.1: Вывести на экран слово «Hello». Вывод появляется в командной строке. В кавычках выводимая надпись: 'Hello'. Комментарии (после символа #) предназначены для вставки пояснений в текст программы, интерпретатор полностью их игнорирует.

В окне Python Shell мы можем просто ввести строку нажатием клавиши <Enter> для получения результата:

>>> "Привет, мир!" #нажать ENTR

' Привет, мир! '

В окне Untitled необходима команда Run Module F5 или кнопка F5.

print ('Hello') # вывод слова Hello.

Ответ: Hello

Задание 1.2: Если необходимо вывести результат на той же строке, то в функции print () данные указываются через запятую в первом параметре:

>>>print("Cтpoкa 1", "Строка 2)

Результат:

Строка 1 Строка 2

Задание 1.3. Если необходимо вывести большой блок текста, то его следует разместить между утроенными кавычками или апострофами.

print("""Cтpoкa 1 Строка 2 Строка З""")

В результате выполнения этого примера мы получим три строки:

Строка 1

Строка 2

Строка 3

Задание 1.4. После вывода результата окно консоли сразу закрывается. Чтобы предотвратить

закрытие окна, необходимо добавить вызов функции input(), которая станет ожидать нажатия клавиши <Enter> и не позволит окну сразу закрыться.

# -*- coding: utf-8 -*рrint("Привет, мир!")

input ()

#Выводим: строку

# Ожидаем нажатия клавиши <Enter>

Задание 1.5: Для вывода строки "Привет, мир!" с помощью функции print () необходима команда F5.В окне Python Shell это делать не обязательно. Например, мы можем просто ввести строкуи нажать клавишу <Enter> для получения результата:

>>> "Привет, мир!"

' Привет, мир! '

>>>

Обратите внимание на то, что строки выводятся в апострофах. Этого не произойдет, есливыводить строку с ПОМОЩЬЮ функции print ():

>>> рrint ("Привет, мир!")

Привет, мир!

>>>

Задание 1.6. Если необходимо разместить несколько инструкций на одной строке, после каждой инструкции следует указать точку с запятой:

>>> х = 5; у = 10; z = х... у # Три инструкции на одной строке

>>> print(z)

Задание 1.7. При вводе многострочной команды после нажатия клавиши <Enter> редактор автоматически вставит отступ и будет ожидать дальнейшего ввода. Чтобы сообщить редактору о конце ввода команды, необходимо дважды нажать клавишу <Enter>.

>>> for n in range(l, 3):

print(n)

1

2

>>>

Задание 1.8. Для ввода данных в Python 3 предназначена функция input ():

# -*- coding: utf-8 -*-

name = input("Введите ваше имя: ")

print("привет,", name)

input("Нажмите <Enter> для закрытия окна")

Задание 1.9.

Если инструкция является слишком длинной, то ее можно перенести на следующую строку, используя символ \, например так:

х = 15 + 20 \

+ 30

Print (x)

Задание 1.10. Если есть скобки, то символ не нужен, комментарии отмечают символом #, они предназначены для вставки пояснений:

х = (15 + 20 # Это комментарий

+ 30)

print (x)

    Задание 1.11.

х = 15 + 20 \

+ 30

print (x)

Задание 1.12. Поместить выражение внутри круглых скобок. Этот способ лучше, т. к. внутри круглых скобок можно разместить любое выражение. Пример:

х = (15 + 20 # Это комментарий

+ 30)

print (x)

Задание 1.13. Вывести на экран слово «What is your name».

name = input('What is your name?\n')

print('Hi, %s.' % name) # print -- это функция

Задание 1.14. Вывести результаты работы программы можно с помошью функции print (). Функция имеет следующий формат. После вывода строки автоматически добавляется символ перевода строки:

print ("Строка 1")

print ("Строка 2")

 

Задание 2.8.

for n in range(l, 3):

print (n)

1

2

Задание 2.9.

Выделение инструкции внутри блока. Инструкции, перед которыми расположено одинаковое количество пробелов, являются телом блока. В языке Python принято использовать четыре пробела для выделения инструкций внутри блока.

i = 1

while i < 5:

print(i)

i += 1

print ("Конец программы")

Задание 2.9: определение списка и словаря можно разместить на нескольких строках, т. к. при этом используются: квадратные и фигурные скобки соответственно. Пример определения

списка:

arr = [15, 20,

30]

print (arr)

Задание 2.10: определения словаря:

arr = {"х": 15, "у": 20,

II z": 30}

print (arr)

Задание 2.11: Вывести результаты работы программы можно с помошью функции print (). Функция имеет следующий формат. После вывода строки автоматически добавляется символ перевода строки:

print ("Строка 1")

print ("Строка 2")

Результат:

Строка 1

Строка 2

Задание 2.12: Если необходимо вывести результат на той же строке, то в функции print () данные указываются через запятую в первом параметре:

print ("Cтpoкa 1", "Строка 2")

Результат:

Строка 1 Строка 2

Для ввода данных в Python 3 предназначена функция input (), которая получает данные со стандартного ввода stdin. Функция имеет следующий формат:

[<Значение> =] inрut([<Сообщение>])

Задание 2.13:  

# -*- coding: utf-8 -*-

import sys

arr = sys.argv[:]

for n in arr:

print (n.)

 

Раздел 3. Переменные

Все данные в языке Python представлены объектами. Каждый объект имеет тип данных и значение. Для доступа к объекту предназначены переменные. При инициализации в переменной сохраняется ссылка на объект (адрес объекта в памяти компьютера). Благодаря этой ссылке можно в дальнейшем изменять объект из программы.

Именование переменных

Каждая переменная должна иметь уникальное имя, состоящее из латинских букв, цифр и знаков подчеркивания, причем имя переменной не может начинаться с цифры. В качестве имени переменной нельзя использовать ключевые слова:

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lamЬda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Типы данных

Задание 1. Определить, тип данных с помощью функции tуре (<Имя переменной>) Пример:

>>> a=7

>>> type(a)

<class 'int'>

По аналогии заданием 1 определить, тип данных с помощью следующих функции:

В Python 3 объекты могут иметь следующие типы данных:

Задание 2. bооl - логический тип данных. Может содержать значения True или False.

>>> type(True), type(False)  (<class 'bool'>, <class 'bооl'>)

int - целые числа. Размер числа ограничен лишь объемом оперативной памяти:

>>> type (2147483647), type (999999999999999999999999) (<class 'int'>, <class 'int'>)

Задание 3. float-вещественные числа:

>>> type(5.l), type(8.5e-3)   (<class 'float'>, <class 'float'>)

complex -комплексные числа:

>>> type(2+2j)     <class 'complex'>

Задание 4. str-Unicode-cтpoки:

>>> type ("Строка")    <class 'str'>

bytes -неизменяемая последовательность байтов:

>>> type (bytes ("Cтpoкa", "utf-8"))     <class 'bytes'>

Задание 5. list-списки. Тип данных list аналогичен массивам в др. языках программирования:

>>> type ([1, 2, З])     <class 'list'>     

tuple - кортежи:

>>> type ((1, 2, 3))     <class 'tuple'>

Задание 6. range - диапазоны:

>>> type (range (l, 10)) <class 'range'>

dict-словари. Тип данных dict аналогичен ассоциативным массивам в других языках

программирования:

>>> type ({ "х": 5, "у": 20}) <class 'dict'>

Задание 7. set- множества (коллекции уникальных объектов):

>>> type({"а", "b", "с"}) <class 'set'>

function - функции:

>>> def func(): pass

>>> type(func)     <class 'function'>

Задание 8. module - модули:

>>> import sys

>>> type(sys)       <class 'module'>

type- классы и типы данных. Все данные в языке Python являются объектами, даже сами типы данных!

>>> class С: pass

>>> type(C) <class 'type'>

>>> type (type (""))     <class 'type'>

Основные типы данных делятся на изменяемые и неизменяемые. К изменяемым типам относятся списки, словари и тип bytearray.

Задание 9. Изменить элементы списка:

>>> arr = [1, 2, 3)

>>> arr[0] = 0 # Изменяем первый элемент списка

>>> arr

(0, 2, З]

Задание 10. К неизменяемым типам относятся числа, строки, кортежи, диапазоны и тип bytes. Например, чтобы получить строку из двух других строк, необходимо использовать операцию конкатенации, а ссылку на новый объект присвоить переменной:

>>> strl = "авто"

>>> str2 = "транспорт"

>>> strЗ = strl + str2             # Конкатенация

>>> print(strЗ)

Задание 1.

>>> х = 7         # Тип int

>>> у = 7.8          # Тип float

>>>x, y

Задание 2.

>>> sl = "Строка" # Переменной sl присвоено значение Строка

>>> s2 = 'Строка' # Переменной s2 также присвоено значение Строка

>>> b = True        # Переменной b присвоено логическое значение True

>>>s1, s2, b

Задание 3.

>>> strl = "само"

>>> str2 = "лет"

>>> strЗ = strl + str2             # Конкатенация

>>> print(strЗ)

Задание 4. Присвоить в одной строке значение сразу нескольким переменным:

>>> х =у= 10

>>> х, у

(10, 10)

2. Групповое присваивание.

Задание 5.  Групповое присваивание можно использовать для чисел, строк и кортежей, но для изменяемых объектов этого делать нельзя, так как изменение переменной в одном объекте приводит к изменению в другом. Пример:

>>> х = у = [1, 2]         # Якобы создали два объекта

>>> х, у

([1, 2), [1, 2))

Теперь попробуем изменить значение в переменной у:

>>> y[l] = 100              # Изменяем второй элемент

>>> х, у

([1, 100], [1, 100])

Как видно из примера, изменение значения в переменной у привело также к изменению значения в переменной х.

Задание 6. Чтобы получить два объекта, необходимо производить раздельное присваивание:

>>> х = [1, 2)

>>> у = [1, 2]

>>> y[l] = 100              # Изменяем второй элемент

>>> х, у

([1, 2], [1, 100])

3.Позиционное присваивание.

Задание 7. В случае позиционное присваивание переменные указываются через запятую слева от оператора =, а значения - через запятую справа. Пример позиционного присваивания:

>>> х, у, z = 1, 2, 3

>>> х, у, z

(1, 2, 3)

Задание 8. С помощью позиционного присваивания можно поменять значения переменных местами.

>> > х, у = 1, 2; х, у

(1, 2)

>>> х, у = у, х; х, у

(2, 1)

4. По обе стороны оператора = могут быть указаны последовательности. Напомним, что к последовательностям относятся строки, списки, кортежи, диапазоны, типы bytes и bytearray.

Задание 9.

>>> х, у, z = "123"       # Строка

>>> х, у, z

('1', '2', '3')

Задание 10.

>>> х, у, z = [1, 2, 3]   # Список

>>> х, у, z

(1, 2, 3)

    Задание 11.

>>> х, у, z = (1, 2, 3)   # Кортеж

>>> х, у, z

(1, 2, 3)

    Задание 12.

>>> [х, у, z] = (1, 2, 3) # Список слева, кортеж справа

>>> х, у, z

(1, 2, 3)

5. Python 3 при несоответствии количества элементов справа и слева от оператора = позволяет сохранить в переменной список, состоящий из лишних элементов. Для этого перед именем

переменной указывается звездочка (*).

Задание 13.

>>> х, у, *z = (1, 2, 3, 4)

>>> х, у, z

(1, 2, [ 3, 4])

    Задание 14.

>>> х, *у, z = (1, 2, 3, 4)

>>> х, у, z

(1, [2, 3], 4)

    Задание 15.

>>> *х, у, z = (1, 2, 3, 4)

>>> х, у, z

([ 1, 2], 3, 4)

    Задание 16.

>>> х, у, *z = (1, 2, 3)

>>> х, у, z

(1, 2, [ 3])

Как видно из примера, переменная, перед которой указана звездочка, всегда содержит список. Если для этой переменной не хватило значений, то ей присваивается пустой список.

Следует помнить, что звездочку можно указать только перед одной переменной.

 

Операторы сравнения

Задание 11.

==-равно:

>>> 1 == - 1, 1 5

(True, False)

 ! = -не равно:

>>> 1!= 5, 1 '= 1

(True, False)

Задание 12.

< -меньше:

>>> 1 < 5, 1 < о

(True, False)

> -больше:

>>> 1 > О, 1 > 5

(True, False)

Задание 13.

t <= - меньше или равно:

>>> 1 <= 5, 1 <= о, 1 <= 1

(True, False, True)

t >= - больше или равно:

>>> 1 >= О, 1 >= 5, 1 >= 1

(True, False, True)

Задание 14.

in -проверка на вхождение в последовательность:

>>> "Строка" in "Строка для поиска" # Строки

True

>>> 2 in [1, 2, 3], 4 in [ 1, 2, 3] # Списки

(True, False)

>>> 2 in (1, 2, 3), 4 in (1, 2, 3) # Кортежи

(True, False)

Задание 15.

Оператор in можно также использовать для проверки существования ключа словаря:

>>> "х" in {"х": 1, "у": 2}, "z" in {"х": 1, "у": 2}

(True, False)

Задание 16.

not in -проверка на невхождение в последовательность:

>>> "Строка" not in "Строка для поиска" # Строки

False

>>> 2 not in (1, 2, 3], 4 not in [1, 2, 3] # Списки

(False, True)

 

Операторы присваивания

Операторы присваивания предназначены для сохранения значения в переменной. Перечислим операторы присваивания, доступные в языке Python:

Задание 5. = - присваивает переменной значение:

>>> х = 5; х

5

Задание 6. += - увеличивает значение переменной на указанную величину:

>>> х = 5; х += 10       # Эквивалентно х = х + 10

>>> х

15

Задание 7. Для последовательностей оператор += производит конкатенацию:

>>> s = "Стр"; s += "ока"

>>> print(s)

Строка

Задание 8. = - уменьшает значение переменной на указанную величину:

>>> х = 10; х = 5

>>> х                   # Эквивалентно х = х  5

5

Задание 9. *= - умножает значение переменной на указанную величину:

>>> х = 10; х *= 5

>>> х                   # Эквивалентно х = х * 5

50

Задание 10. Для последовательностей оператор *= производит повторение:

>>> s = "*"; s *= 20

>>> s

'********************'

Задание 11. /= - делит значение переменной на указанную величину:

>>> х = 10; х /= 3        # Эквивалентно х = х / З

>>> х                       

З.3333333333333335

>>> у = 10.0; у /= 3.0           # Эквивалентно у

>>> у

3.3333333333333335

Задание 12. //=-деление с округлением вниз и присваиванием:

>>> х = 10; х //= 3       # Эквивалентно х = х / 3

>>> х

3

>>> у= 10.0; у//= 3.0

>>> у                            # Эквивалентно у= у// 3.0

3.0

Задание 13. %= - деление по модулю и присваивание:

>>> х = 10; х %= 2      # Эквивалентно x=х % 2

>>> х

о

>>> у = 10; у%= 3 # Эквивалентно y=y % 3

>>> у

1

Задание 14. * * = - возведение в степень и присваивание:

>>> х = 10; х **= 2     # Эквивалентно х ** 2

>>> х

100

Условные операторы и циклы

Раздел 7. Оператор ветвления if... else

Оператор ветвления if... else позволяет в зависимости от значения логического выражения выполнить отдельный участок программы или, наоборот, не выполнить его. Оператор имеет следующий формат:

if <Логическое выражение>:

<Блок выполняемый, если условие истинно>

[elif <Логическое выражение>:

<Блок, выполняемый, если условие истинно>

[else:

<Блок, выполняемый, если все условия ложны>

]

    Задание 1.

a=5

b=2

if a < b:

print ("правильно")

else:

print ("нет")

    Задание 2. Проверка на четность

# -*- coding: utf-8 -*-

x = int(input("Bвeдитe число: "))

if х%2==0:

print(x, " - четное число")

else:

print(x, " - нечетное число")

input ()

Задание 3. #Демонстрация условия else

print ('Системы безопасности')

print('-- Безопасность - наше второе имя\n')

password = input("Введите пароль: ")

if password == "выбрать свой пароль": # выбрать свой пароль

print ("Дocтyп открыт")

else:

print("Дocтyп закрыт")

input("\n\nHaжмитe Enter. чтобы выйти.")

Задание 4. Оператор if... else позволяет проверить сразу несколько условий.

# -*- coding: utf-8 -*-

print("""Кaкoй операционной системой вы пользуетесь?

1 - Windows 8

2 - Windows 7""")

os = input("Введите число, соответствующее ответу: ")

if os == "1":

print("ВЫ выбрали:Windows 8")

elif os == "2":

print("ВЫ выбрали: Windows 7")

elif not os:

print("ВЫ выбрали: число")

else:

print("Мы не смогли определить вашу операционную систему")

input ()

Задание 5. Оператор if... else позволяет проверить сразу несколько условий.

# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-

print("""Кaкoй операционной системой вы пользуетесь?

1 - Windows 8

2 - Windows 7

3 - Windows Vista

4 - Windows ХР

5 - Другая""")

os = input("Введите число, соответствующее ответу: ")

if os == "1":

print("ВЫ выбрали:Windows 8")

elif os == "2":

print("ВЫ выбрали: Windows 7")

elif os == "3":

print("ВЫ выбрали: Windows Vista")

elif os == "4":

print("ВЫ выбрали: Windows XP")

elif os == "5":

print("ВЫ выбрали: Windows XДругая")

elif not os:

print("ВЫ выбрали: число")

else:

print("Мы не смогли определить вашу операционную систему")

input ()

Задание 6.

a=25

b=27

if a < b:

print ("правильно")

else:

print ("нет")

    Задание 7. Проверка на четность

# -*- coding: utf-8 -*-

x = int(input("Bвeдитe число: "))

if х%2==0:

print(x, " - четное число")

else:

print(x, " - нечетное число")

input ()

Задание 8. #Демонстрация условия else

print ('Системы безопасности')

print('-- Безопасность - наше второе имя\n')

password = input("Введите пароль: ")

if password == "secret":

print ("Дocтyп открыт")

else:

print("Дocтyп закрыт")

input("\n\nHaжмитe Enter. чтобы выйти.")

Задание 9. Оператор if... else позволяет проверить сразу несколько условий.

# -*- coding: utf-8 -*-

print("""Кaкoй сегодня месяц?

1 - сентябрь

2 - октябрь

3 - ноябрь """)

os = input("Введите число, соответствующее ответу: ")

if os == "1":

print("ВЫ выбрали: сентябрь")

elif os == "2":

print("ВЫ выбрали: октябрь")

elif os == "3":

print("ВЫ выбрали: ноябрь")

elif not os:

print("ВЫ выбрали: число")

else:

print("Мы не смогли определить месяц")

input ()

Задание 10. #Демонстрация условия else

print ('Системы безопасности')

print('-- Безопасность - наше второе имя\n')

password = input("Введите пароль: ")

if password == "__": # выбрать свой пароль

print ("Дocтyп открыт")

else:

print("Дocтyп закрыт")

input("\n\nHaжмитe Enter. чтобы выйти.")

Цикл for. Цикл for применяется для перебора элементов последовательности. Его формат:

for <Текущий элемент> in <Последовательность>:

<Инструкции внутри цикла>

[else:

<Блок, вьmолняемый, если не использовался оператор break>

]

•<Последовательность> - объект, поддерживающий механизм итерации. Например: строка, список, кортеж, диапазон, словарь и др.;

• <Текущий элемент> -на каждой итерации через этот параметр доступен текущий элемент последовательности или ключ словаря;

• <Инструкции внутри цикла>-блок, который будет многократно выполняться

Задание 1. Перебор букв s t r:

for s in "str":

print(s, end=" ")

else:

print ("\nЦикл вьпюлнен")

Результат выполнения:

s t r

Цикл выполнен

Задание 2. Перебор списка, кортежа:

for х in [ 1, 2, 3]:

print(x)

Задание 3. Перебор списка, кортежа:

for у in (1, 2, 3):

print (у)

Задание 4. Перебор элементов словаря

>>> arr = {"х": 1, "у": 2, "z": 3}

>>> arr.keys ()

dict_keys(['х', 'у', 'z'])

>>> for key in arr.keys():

print(key, arr[key]) 

х 1

у 2

z 3

Задание 5. Перебор элементов словаря c сортировкой (sorted) в алфавитном порядке

arr = {"х": 1, "у": 2, "z": 3}

for key in sorted(arr):

print(key, arr[key])

Задание 6. # Демонстрирует применение цикла for к строке

word = input("Введите слово: ")

print("\nBoт все буквы вашего слова по порядку:")

for letter in word:

print(letter)

input("\n\nHaжмитe Enter. чтобы выйти. "

Задание 7. Перебор элементовсписка кортежf

arr = [(1, 2), (3, 4)]

for a, b in arr:

    print(a, b)

Функции range() и enumerate()

Формат функции range ():

range ([<Начало>, ] <Конец> [, <Шаг>])

Задание 8. Выведем все числа от 1 до 100:

for i in range(2, 101): print(i)

>>> for i in range(2, 101): print(i)

Задание 9. Выведем все четные числа от 1 ДО 100:

>>> for i in range(2, 101, 2): print(i)

Задание 10. Умножим элементы arr на 2:

arr = [1, 2, 3]

for i in range(len(arr)):

arr[i] *= 2

print(arr) # Результат выполнения: (2, 4, 6]

Функция len определяет количество элементов списка.

 

Цикл while

Выполнение инструкций в цикле while продолжается до тех пор, пока логическое выражение истинно. Цикл while имеет следующий формат:

<Начальное значение>

while <Условие>:

<Инструкции>

<Приращение>

[else:

<Блок, выполняется, если не использовался оператор break>

Последовательность работы цикла while:

1. Переменной-счетчику присваивается начальное значение.

2. Проверяется условие и, если оно истинно, выполняются инструкции внутри цикла, иначе выполнение цикла завершается.

3. Переменная-счетчик изменяется на величину, указанную в параметре <Приращее>.

4. Переход к пункту 2.

5. Если внутри цикла не использовался оператор break, то после завершения выполнения цикла будет выполнен блок в инструкции else. Этот блок не является обязательным.

Пример:

Вывод чисел от 1 до 100

i =1              # <Начальное значение>

while i <101:        # <Условие>

print(i)          # <Инструкции>

i +=1                     # <Приращение>

Вывод чисел от 100 до 1

i = 100

while i:

print(i)

i -= 1

Оператор continue.

Задание 2.

Создадим функцию без параметров:

def print_ok():

"""Пример функции без параметров"""

print("ФИО студента")

print_ok()# Вызываем функцию без параметров

 

Задание 3.

Создадим функцию с одним параметром. ФИО – локальная переменная:

def echo (m):

""" Пример функции с параметром """

print(m)

echo("ФИО студента") # Функция выведет сообщение

 

Задание 4.

Создадим функцию с двумя параметрами. a, b – глобальные переменные, х, у – локальная переменная:

def summa (х, у):

"""Пример функции с параметрами,

возвращающей сумму двух переменных"""

return х + у

x = summa(5, 2)# Переменной х будет присвоено значение 7

print(x)

а, b = 48, № по списку # например: а, b = 48, 7

y = summa(а, b) # Переменной у будет присвоено значение 60

print(y)

 

Оператор +, используемый в функции summa (), применяется не только для сложения чисел, но и позволяет объединить последовательности. То есть, функция summa () может использоваться не только для сложения чисел. В качестве примера выполним конкатенацию строк и объединение списков:

Задание 5.

def summa (х, у, z):

return х + у + z

print (summa("РТбо", "2-48", "_ФИО студента")) # Выведет: РТбо 2-48_ФИО

def summa (х, у):

return х + у

print (summa([1, 2], [3, 4])) # Выведет: [1, 2, 3, 4]

Как вы уже знаете, все в языке Python представляет собой объекты: строки, списки и даже сами типы данных. Не являются исключением и функции. Инструкция def создает объект, имеющий тип function, и сохраняет ссылку на него в идентификаторе, указанном после инструкции def. Таким образом, мы можем сохранить ссылку на функцию в другой переменной - для этого название функции указывается без круглых скобок. Сохраним ссылку в переменной и вызовем функцию через нее.

Задание 6. Сохранение ссылки на функцию в переменной

def summa (х, у):

return х + у

f = summa # Сохраняем ссылку в переменной f

g = f (10, 20) # Вызываем функцию через переменную f

print (g)

Можно также передать ссылку на функцию в качестве параметра другой функции. Функции, передаваемые по ссылке, обычно называются функциями обратного вызова.

Функции обратного вызова

def summa (x, у):

return x+ у

def func (f, а, b):

""" Через переменную f будет доступна ссылка на функцию summa ()"""

return f(а, b) # Вызываем функцию summa ()

# Передаем ссылку на функцию в качестве параметра

g = func (summa, 10, 20)

print (g)

 

Задание 7. Рекурсия - это возможность функции вызывать саму себя. Рекурсию удобно использовать для перебора объекта, имеющего заранее неизвестную структуру, или для выполнения неопределенного количества операций. В качестве примера рассмотрим вычисление факториала

def factorial(n):

if n == 0 or n == 1: return 1

else:

return n * factorial(n - 1)

while True:

х = inрut("Введите число: ")

else:

print("Bы ввели не число!")

рrint("Факториал числа {0}= {l}".forrnat(x, factorial(x)))

Впрочем, проще всего для вычисления факториала воспользоваться функцией f actorial ()

из модуля math. Пример:

>>> import math

>>> math.factorial(3), math.factorial(7)

 

Изучение Python

по курсу «Дискретная математика и спецглавы математика»

 

Выполнил: студент гр. РТбо  

Проверил                                                                                Матвеев А.И.

 

Таганрог 2019 г

Цель: Ознакомиться с основными операторами и функциями языка Python на конкретных примерах.

В качестве интерпретатора на первых порах можно использовать онлайн сервис Repl.it: https://repl.it/repls/QuarterlyWorthwhileDifference

1. Заходим на официальный сайт Python. В разделе Download нажимаем: «Download Python 3.7.0», тем самым скачивая последнюю версию Python (рекомендуется скачивать версии после 3.4, так как они уже включают в себя «pip»). Скачивается 32-bit версия, но она подходит и для 64-bit систем. Запускаем и устанавливаем программу.

 

Нажимаем кнопку . В разделе «недавно добавленные» либо в перечне папок находим папку Python 3.7.0, открываем ее и щелкаем мышкой строку IDLE Python 3.7.0. Появляется окно Python 3.7.0 Shell. В верхней строке открываем fale и щелкаем мышкой строку New Fale. Появляется окно Untitled. Это рабочее окно в котором набираем код. Копируем из инструкции «индивидуальное задание 1» первое задание1 (см. ниже: Вывести на экран слово «Hello».) и вставляем в окно Untitled правой кнопкой мыши командой «paste». Если нет ошибки в окно Untitled код в виде цветной надписи: print ('Hello'), то верхней строке открываем Run и щелкаем строку Run Module F5. Появляется окошко, в котором спрашивается: сохранить файл? Щелкаете ОК, и выбираете в появившемся окне папку, где сохраняете файл под именем pix1. При этом редактор сохранит файл в кодировке UTF-8 без БОМ (Byte Order Mark, метка порядка байтов). Именно кодировка UTF-8 является кодировкой по умолчанию в Python 3. Если файл содержит инструкции в другой кодировке, то необходимо в первой или второй строке указать кодировку с помощью инструкции:

# -*- coding: <Кодировка> -*-

Например, для кодировки Windows-1251 инструкция будет выглядеть так:

# -*- coding: ср1251 -*-

Редактор IDLE учитывает указанную кодировку и автоматически производит перекодирование

при сохранении файла. После выполнения функции print в командном окне Python 3.7.0 Shell появляется результат: Hello. Аналогичные действия выполняются при выполнении других заданий.

В языке Python в конце строки точку с запятой ставить можно, но не рекомендуется.

В языке Python выделяются блоки. Инструкции, перед которыми расположено одинаковое количество отступов (пробелов), являются телом блока.

i = 1

while i < 11:

    print(i)

    i += 1

print ("Конец программы")

В нашем примере две инструкции выполняются десять раз. Концом блока является инструкция, перед которой расположено меньшее количество пробелов. В нашем случае это функция print (), которая выводит строку "Конец программы". Если количество пробелов внутри блока окажется разным, то интерпретатор выведет сообщение о ошибке,

 

Раздел 1.

Задание 1.1: Вывести на экран слово «Hello». Вывод появляется в командной строке. В кавычках выводимая надпись: 'Hello'. Комментарии (после символа #) предназначены для вставки пояснений в текст программы, интерпретатор полностью их игнорирует.

В окне Python Shell мы можем просто ввести строку нажатием клавиши <Enter> для получения результата:

>>> "Привет, мир!" #нажать ENTR

' Привет, мир! '

В окне Untitled необходима команда Run Module F5 или кнопка F5.

print ('Hello') # вывод слова Hello.

Ответ: Hello

Задание 1.2: Если необходимо вывести результат на той же строке, то в функции print () данные указываются через запятую в первом параметре:

>>>print("Cтpoкa 1", "Строка 2)

Результат:

Строка 1 Строка 2

Задание 1.3. Если необходимо вывести большой блок текста, то его следует разместить между утроенными кавычками или апострофами.

print("""Cтpoкa 1 Строка 2 Строка З""")

В результате выполнения этого примера мы получим три строки:

Строка 1

Строка 2

Строка 3

Задание 1.4. После вывода результата окно консоли сразу закрывается. Чтобы предотвратить

закрытие окна, необходимо добавить вызов функции input(), которая станет ожидать нажатия клавиши <Enter> и не позволит окну сразу закрыться.

# -*- coding: utf-8 -*рrint("Привет, мир!")

input ()

#Выводим: строку

# Ожидаем нажатия клавиши <Enter>

Задание 1.5: Для вывода строки "Привет, мир!" с помощью функции print () необходима команда F5.В окне Python Shell это делать не обязательно. Например, мы можем просто ввести строкуи нажать клавишу <Enter> для получения результата:

>>> "Привет, мир!"

' Привет, мир! '

>>>

Обратите внимание на то, что строки выводятся в апострофах. Этого не произойдет, есливыводить строку с ПОМОЩЬЮ функции print ():

>>> рrint ("Привет, мир!")

Привет, мир!

>>>

Задание 1.6. Если необходимо разместить несколько инструкций на одной строке, после каждой инструкции следует указать точку с запятой:

>>> х = 5; у = 10; z = х... у # Три инструкции на одной строке

>>> print(z)

Задание 1.7. При вводе многострочной команды после нажатия клавиши <Enter> редактор автоматически вставит отступ и будет ожидать дальнейшего ввода. Чтобы сообщить редактору о конце ввода команды, необходимо дважды нажать клавишу <Enter>.

>>> for n in range(l, 3):

print(n)

1

2

>>>

Задание 1.8. Для ввода данных в Python 3 предназначена функция input ():

# -*- coding: utf-8 -*-

name = input("Введите ваше имя: ")

print("привет,", name)

input("Нажмите <Enter> для закрытия окна")

Задание 1.9.

Если инструкция является слишком длинной, то ее можно перенести на следующую строку, используя символ \, например так:

х = 15 + 20 \

+ 30

Print (x)

Задание 1.10. Если есть скобки, то символ не нужен, комментарии отмечают символом #, они предназначены для вставки пояснений:

х = (15 + 20 # Это комментарий

+ 30)

print (x)

    Задание 1.11.

х = 15 + 20 \

+ 30

print (x)

Задание 1.12. Поместить выражение внутри круглых скобок. Этот способ лучше, т. к. внутри круглых скобок можно разместить любое выражение. Пример:

х = (15 + 20 # Это комментарий

+ 30)

print (x)

Задание 1.13. Вывести на экран слово «What is your name».

name = input('What is your name?\n')

print('Hi, %s.' % name) # print -- это функция

Задание 1.14. Вывести результаты работы программы можно с помошью функции print (). Функция имеет следующий формат. После вывода строки автоматически добавляется символ перевода строки:

print ("Строка 1")

print ("Строка 2")

 

Раздел 2. Изучение представления чисел и арифметических операций

Числа в Python бывают трёх типов: целые, с плавающей точкой и комплексные.

• Примером целого числа может служить 2.

• Примерами чисел с плавающей точкой (или “плавающих” для краткости) могут быть 3.23 и 52.3E-4. Обозначение E показывает степени числа 10. В данном случае 52.3E-4 означает 52.3 * 10-4.

• Примеры комплексных чисел: (-5+4j) и (2.3 - 4.6j)

Если инструкция является слишком длинной, то ее можно перенести на следующую строку,

например так:

1 способ: в конце строки разместить символ \. После этого символа должен следовать символ перевода строки. Другие символы (в том числе и комментарии) недопустимы.

Пример:

х = 15 + 20 \

+ 30

print(x)

23

2 способ: поместить выражение внутри круглых скобок. Этот спосо


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.596 с.