Python Урок 1. Арифметические действия и конструкции

Дата изменения: 12 мая 2020

На уроке рассмотрены примеры использования оператора присваивания на языке python, примеры работы с основными арифметическими операторами. Узнаете об одной из функций преобразования типов (int). Изучите работу условного оператора, оператора python print и input.

Среда разработки

Для обучения используется IDLE python 3.4 GUI (возможна и другая среда разработки).

Основным окном IDLE является окно интерпретатора, позволяющее программировать в интерактивном режиме, т.е. после ввода команды, она сразу же исполняется после нажатия [Enter]. Каждая строка начинается с символов >>>, результат выполнения отображается сразу под строкой оператора:

IDLE python 3.4

IDLE python 3.4

Для полноценной работы и сохранения результатов в файл следует выбрать в меню File пункт New File. После чего в открывшемся окне можно набирать код программы.

Сравнение кода двух языков

Для начала сравним фрагменты кода одной и той же программы, написанной на Python и на C++. Результат показывает, насколько меньше код, написанный на Python:
  
На PYTHON

1
print("Hello, World!")

На С++

1
2
3
4
5
#include  
void main() 
{      
cout << "Hello, World!" << endl;  
}

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

Оператором присваивания является символ =. Выполняется оператор стандартным образом: сначала вычисляется выражения справа от знака равенства, а затем полученное значение записывается в переменную, указанную слева от знака равенства.

1
2
3
4
5
6
7
8
9
10
A = 3.14
print(type(A)) # float
A = 'Hello' 
print(type(A)) # str 
a = b = c = 0
a += 1    # a = a + 1 
с = 5//2  # int 
d = 5/2   # float
b = c**2  # b = c^2 (степень) 
a, b = b, a # обмен значениями a=b, b=a

Ввод и вывод данных

  • Вывод данных осуществляется при помощи оператора print:
  • 1
    2
    3
    4
    5
    
    a = 1
    b = 2
    print(a)
    print(a + b)
    print('сумма = ', a + b)
  • Существует возможность записи инструкций в одну строку, разделяя их через ;. Однако не следует часто использовать такой способ, это снижает удобочитаемость:
  • 1
    2
    3
    
    a = 1; b = 2; print(a)
    print(a + b)
    print('сумма = ', a + b)
  • Для функции print может задаваться так называемый сепаратор — разделитель между элементами вывода:
  • 1
    2
    3
    
    x=2
    y=5
    print ( x, "+", y, "=", x+y, sep = " " )

    Результат отобразится с пробелами между элементами: 2 + 5 = 7

  • Для форматированного вывода используется format:
  • 1
    2
    
    x = 11
    print ( "{:4d}".format(x) )

    В результате выведется число 11, а перед ним два пробела, так как указано использовать для вывода четыре знакоместа.

  • Или с несколькими аргументами:
  • 1
    2
    
    x = 2
    print ( "{:4d}{:4d}{:4d}".format (x, x+x, x*x) )

    В итоге каждое из значений выводится из расчета 4 знакоместа.

  • Ввод данных осуществляется при помощи оператора input:
  • 1
    2
    
    a = input()
    print(a)
  • В скобках функции можно указать сообщение-комментарий к вводимым данным:
  • a = input ("Введите количество: ")
  • Функция input воспринимает входные данные, как поток символов. Поэтому, чтобы принять целочисленное значение, следует воспользоваться функцией int():
  • a = int (input())

Задание Python 1_1:
Используя операторы input и print, выведите значения целых переменных x=5 и y=3 в следующих форматах:

  • 3+5=?
  • 3 | 5 | 8
  • Z(5)=F(3)
  • x=5; y=3;
  • Ответ: (5;3)
  • Арифметические действия и математические функции

    x + y Сложение
    x - y Вычитание
    x * y Произведение
    x / y Деление
    x // y Целочисленное деление
    x % y Остаток от целочисленного деления
    x**y Возведение в степень
    -x Смена знака числа
    
    Рассмотрим стандартные математические функции:
    • abs(x) модуль числа;
    • round(x) – в Python округление числа x к ближайшему целому;
    • sqrt(x) – квадратный корень числа;
    • exp(x) – экспонента x;
    • log(x) – натуральный логарифм x.

    Перечисленные функции можно использовать в программе, только подключив специальный модуль:

    import math
    # далее используем какую-либо функцию:
    print (math.sqrt(64)) # 8.0

    Преобразование типов

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

      int – целочисленные значения;
      float – вещественные (дробные) значения;
      bool – логические значения — истина (True) или ложь (False);
      str – символьная строка или единичный символ.

    Рассмотрим примеры использования основных типов в Python:
    Целые числа (int):

    num = 13
    print(num)  # 13
     
    num = 0
    print(num)  # 0
     
    num = -10
    print(num)  # -10
     
    num = 500_000_000  # для удобства чтения
    print(num) # 500000000

    Вещественные числа (float):

    num = 13.4
    print(num) # 13.4
     
    num = 0.0
    print(num) # 0.0
     
    num = -15.2
    print(num) # -15.2
     
    num = 100_000.000_002 # для удобства чтения
    print(num) # 100000.000002
     
    num = 1.7e2 # 1.7 умножить на 10 в степени 2
    print(num) # 170

    Логический тип (bool):

    print(15 == 15) # True
     
    print(1 != 3) # True
     
    print(3 > 4) # False
     
    print(3 <= 3) # True
     
    print(6 >= 6) # True
     
    print(6 < 5) # False
     
    x = 2
    print(1 < x < 3) # True

    Строки (str):

    example_string = "Очень интересно"
    print(example_string) # Очень интересно
     
    example_string = 'Пьеса "На дне"'
    print(example_string) # Пьеса "На дне"
     
    example_string = "Пьеса \"На дне\"
    print(example_string) # Пьеса "На дне"
     
    example_string = "Как " \
                     "разбить " \
                     "объявление длинной строки"
    print(example_string) # Как разбить объявление длинной строки
     
    example_string = """
                     Как  
                     оставить сроку
                     в несколько строк
                     """
    print(example_string) 
    # Как  
    # оставить сроку
    # в несколько строк
    # Как объединить две строки в одну
    print("Можно их" + " сложить") # Можно их сложить 
     
    print("Можно и так!" * 3) # Можно и так!Можно и так!Можно и так!

    Рассмотрим примеры того, как используется преобразование типов в Питон:

    • преобразование в символьную строку:
    • 1
      2
      3
      
      a = 1.7
      a=str(a)
      print(a) # '1.7'
    • преобразование в целое:
    • 1
      2
      3
      
      x = 1.7
      x=int(x)
      print(x) # 1
    • преобразование в вещественное:
    • 1
      2
      3
      
      y=1
      y=float(y)
      print(y) # 1.0

    Python для системы счисления

    • bin(y) — целое число преобразовывается в двоичную строку.
    • hex(y) — целое число преобразовывается в шестнадцатеричную строку.
    • oct(y) — целое число преобразовывается в восьмеричную строку.

    Рассмотрим примеры работы с системами счисления:

    bin(17) # '0b10001'
    oct(17) # '0o21'
    hex(17) # '0x11'

    Задание Python 1_2: Даны две переменные. Запросить их значение. Выполнить основные арифметические действия с переменными, целочисленное деление, возведение в квадрат. Осуществить перевод в системы счисления (в 8-ю и 16-ю). Вывести результат.

    Задание Python 1_3: Найти длину окружности L и площадь круга S заданного радиуса R:

    L=2*pi*R, S=pi*R2.
    

    В качестве значения использовать 3.14.

    * Из задачника М. Э. Абрамян


    Задание Python 1_4: Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.

    * Из задачника М. Э. Абрамян


    Пример: Дано двузначное число. Найти сумму и произведение его цифр.

    * Из задачника М. Э. Абрамян


    ✍ Решение:

    import math
    print('Введите двузначное число: ')
    A = int(input())
    Res = (A // 10) + math.fmod(A, 10)
    print('Сумма его цифр равна: ', int(Res))
    Res = (A // 10) * math.fmod(A, 10)
    print('Произведение его цифр равно: ', int(Res))

    Задание Python 1_5: Дано двухзначное целое число. Вывести сначала его правую цифру, а затем левую.

    * Из задачника М. Э. Абрамян

    Условный оператор

    В языке python синтаксис обладает интересной особенностью: дело в том, что в коде нет операторных скобок (begin..end или {...}); вместо них отступы указывают, какие операторы выполнять внутри той или иной конструкции.

    Зачем отступы и где их ставить?

    Стандартная запись условной инструкции Python if else выглядит следующим образом:

    if условие1:
        оператор1
    elif условие2:
        оператор2
    else:
        оператор3
    1
    2
    3
    4
    
    if x > 0:
      if x < 2:
    else:
      оператор
  • Следует обратить внимания, что знак сравнения в Питоне записывается, как два знака =:
  • 1
    2
    3
    4
    5
    6
    
    if x < 0:
      блок1
    elif x == 0: # сравнение!
      блок2
    else:
      блок3

    Другой пример использования условия:

    1
    2
    3
    4
    5
    6
    
    if x < 0:
        print('мало')
    elif x == 0:
        print('средне')
    else:
        print('много')

    Сложные условия

    • Использование двойных неравенств разрешено:
    • 1
      2
      3
      4
      
      if 0 < x < 2:
        if 0 < y < 2:
      else:
        оператор
    • Пример использования условия c elif:
    • 1
      2
      3
      4
      5
      6
      
      if x < 0:
          print('мало')
      elif -0 <= x <= 0:
          print('средне')
      else:
          print('много')
    • Кроме того, можно применять логический оператор AND (И):
    • if x >= 30 and x <= 40:
       ...
    • Использование с оператором in:
    • site = "my.ru"
       
      if "ru" in site:
          print("Условие выполнено!") # Условие выполнено!
    • Кроме того, можно применять логический оператор OR (ИЛИ):
    • site = "my.ru"
       
      if "my" in site or site.endswith(".ru"): # заканчивается на ...
          print("Условие выполнено!")
    • Аналог тернарного оператора:
    • uchenik_1 = 5
      uchenik_2 = 2
       
      otlichnik = "первый ученик" if uchenik_1 > uchenik_1  else "второй ученик"
       
      print(otlichnik) # первый ученик

    Задание Python 1_6: Запрашивается количество часов и заработок в час. Рассчитать зарплату. Если работник работал более 40 часов, — то зарплата умножается на коэффициент 1,5. Оформить в формате дружелюбного интерфейса.

    Пример: Дан год. Определить високосный ли год или нет? Вывести true или false (логическое значение).
    Указания: Год является високосным если он кратен 4, но при этом не кратен 100, либо кратен 400.

    ✍ Решение:

      year = 2017
      is_true = year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
      print(is_true)

    Задание Python 1_7: Напишите программу, которая определяет, верно ли, что введённое число – четырёхзначное. Вывести true или false (логическое значение).

    Задание Python 1_8: Напишите программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. Предусмотреть сообщение об ошибке в случае ввода неверного числа.

    2 комментария

      Dmitry

      На С++
      #include
      void main()
      {
      cout << "Hello, World!" << endl;
      }

      Где у Вас программка на С, надо бы строчку с include закончить

      Валентина

      Я только начала изучать язык, поэтому могу ошибаться. Предлагаю другое решение примера: «Дано двузначное число. Найти сумму и произведение его цифр»

      x = int(input(«x…»))
      print(«amount = «, x//10+x%10)
      print(«multiplication = «, (x//10)*(x%10))

      Если что-то не так, прошу исправить меня

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    *
    *


    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить