Конструкции if, elif, else




Шпаргалка по программированию на Python

Переменные

Чтобы сохранить информацию в память компьютера, нужно выделить место в памяти и как-то его назвать. Когда программа работает на компьютере, она может обращаться к этому месту в памяти по его имени, доставать оттуда информацию или сохранять ее туда. Такое именованное место в памяти называется переменной. Переменная имеет имя и значение.

Значения, которые сохраняются в переменной, могут быть разных типов: строки (чтобы сохранять текст), целые числа и дробные числа (с ними можно выполнять счет), логические данные (сохраняют 0 или 1, с ними можно управлять логикой программы).

Запись какого-то значения переменной в коде программы называется литералом. Вот как выглядят литералы разных типов:

Строки 'Привет' или "Привет"
Целые числа  
Дробные числа 3.14
Логический тип True или False

 

Чтобы создать переменную, нужно в коде программы написать ее название. Чтобы переменная заработала, необходимо сохранить в нее значение. Для этого через знак = указывается значение (литерал), которое нужно сохранить. Python сам понимает, какого типа значение сохраняется в переменную. Примеры создания переменных и сохранения в них значений:

name = 'Вася'number = 524length = 3.35turn_on = True

Вывод на экран

Любую переменную или литерал можно вывести на экран. Для этого используется функция print. # - знак комментария. Комментарии – это код программы, который не выполняется. Здесь они используются, чтобы показать, что будет выведено на экран.

name = 'Вася' print (name) # Вася print (5) # 5

Ввод информации

Если мы задаем значения переменных в самом коде программы, то после запуска программы мы уже не можем управлять их изменением. Но есть инструменты, которые позволяют сохранять значения в переменные уже после того, как программы запущена – во время работы программы. Например, с помощью функции input() мы можем вводить данные в программу после запуска и сохранять в переменные. То, что пишется в скобках функции, называется аргументом. Аргумент функции input() – это сообщение, которое выводится на экран перед вводом значения и рассказывает о том, что нужно ввести.

name = input('Введите ваше имя:') print (name) # Введите ваше имя:# | <- сюда мы вводим имя, например Петя# Петя

 

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

name = input('Введите ваше имя:') print ('Ваше имя: ' + name) # Введите ваше имя:# | <- сюда мы вводим имя, например, Петя# Ваше имя: Петя

 

Функция input() сама по себе сохраняет то, что вводится в программу, как строку. Чтобы сохранить это как числа, сначала посмотрим, чем строки отличаются от чисел.

Числа

Строки используются, чтобы выводить текст на экран. Числа используются чтобы считать – совершать арифметические операции, например, сложение (+), вычитание (-), умножение (*), деление (/).

number1 = 16number2 = 4 print (number1 + number2) # 20 print (number1 - number2) # 12 print (number1 * number2) # 64 print (number1 / number2) # 4

 

После расчетов числа тоже можно выводить на экран. Но если числа написать и сохранить как строки, то арифметические операции будут неправильно работать.

number1 = 16number2 = 4 print (number1 / number2) # Ошибка

 

Такая ошибка как раз может случиться, когда мы вводим числа через input() и считаем с ними. Если мы используем число просто для вывода, то все будет работать правильно.

age = input('Введите ваш возраст: ') print ('Ваш возраст ' + age + ' лет') # Введите ваш возраст: # | <- сюда мы вводим возраст, например, 5# Ваш возраст 5 лет

 

Но если мы хотим использовать введенное число для счета, нужно преобразовать его к числу. Если мы вводим целое число, используем функцию int(input()) (например, преобразуем метры в сантиметры).

meters = int(input('Введите метры: '))santimeters = meters * 100 print ('Это ' + meters + ' сантиметров') # Введите сантиметры: # | <- сюда мы вводим количество метров, например, 7# Это 700 сантиметров

 

Если дробное, то float(input()) (например, преобразуем сантиметры в метры).

santimeters = float(input('Введите сантиметры: '))meters = santimeters / 100 print ('Это ' + meters + ' метров') # Введите сантиметры: # | <- сюда мы вводим количество сантиметров, например, 50# Это 0.5 метров

Цикл while

Команды программы исполняются по очереди в том порядке, в котором мы их пишем в коде. Но часто нам нужно изменить порядок выполнения команд. Например, выполнять какой-то блок команд несколько раз. В этом случае мы используем циклы. Рассмотрим цикл while. Блок команд в нем выполняется, пока логическое значение равно True. Когда логическое значение становится False, цикл прекращается и выполняются команды, стоящие по очереди после него.

Вот цикл, который будет бесконечно повторять вывод слова привет:

while True: print ('Привет')

 

Логическое значение можно поместить в переменную (value в переводе с английского – значение):

value = True while value: print ('Привет')

 

Бесконечные циклы используются в программах, где постоянно что-то вводится и проверяется. Например, напишем программу, которая ждет ввода имени Алексей и здоровается с Алексеем. Программа будет просить ввести имя, пока не будет введено нужное имя. Далее программа выведет приветствие. Операция!= имеет значение True, когда первое значение не равно второму. И наоборот, False, когда первое значение равно второму. Обратите внимание, что в первый раз мы вводим имя перед началом работы цикла, чтобы в начале работы циклу было, что проверять.

name = input('Введите имя: ') while name!= 'Алексей': print (name + ', вы не Алексей, позовите Алексея') name = input('Введите имя: ') print ('Привет, Алексей') # Введите имя: Саша# Саша, вы не Алексей, позовите Алексея# Введите имя: Алексей# Привет, Алексей

Конструкции if, elif, else

Еще один случай, когда нам нужно изменять порядок выполнения команд – когда нам нужно, чтобы какие-то команды не выполнялись, если условие ложно. Для этого используется конструкция if. В нее также передается логическое значение. Команды внутри if выполняются, если значение True.

Логические значения можно получить не только с помощью логических переменных. Можно также получить логическое значение, сравнивая числа. Например, 5 > 1 правда, а 5 > 7 ложь. Это называется операции сравнения. Есть несколько видов операций сравнения: больше >, больше или равно >=, меньше <, меньше или равно <=, равно ==, не равно!=.

Рассмотрим пример. Нам нужно написать последовательность команд для робота, который ходит за нас в магазин и покупает сладкое. Мы даем ему деньги, он идет в магазин, покупает сладкое (если денег хватает, то есть сколько мы ему дали больше или равно стоимости сладкого), возвращается домой. В переменной cost сохраним стоимость сладкого, в переменной money – введем количество денег, которые мы даем роботу.

print ('Взять деньги')money = int(input('Сколько денег дадим роботу? ')) print ('Пойти в магазин')cost = 250 if money >= cost: print ('Купить сладкое') print ('Вернуться домой')

 

Теперь сделаем так, чтобы, когда денег не хватает, робот сообщал нам цену, чтобы в следующий раз мы дали достаточно денег. Для этого используем конструкцию else. Она выполняется во всех случаях, когда выражение внутри if имеет значение False. Если True – выполняется if, если False – выполняется else.

print ('Взять деньги')money = int(input('Сколько денег дадим роботу? ')) print ('Пойти в магазин')cost = 250 if money >= cost: print ('Купить сладкое') else: print ('Денег не хватило, цена:') print (cost) print ('Вернуться домой')

 

Теперь представим, что мы хотим, чтобы робот купил самую дорогую сладость, на которую ему хватит денег. В магазине есть печенье за 100, конфеты за 250 и торт за 500. Если денег не хватает, выводится стоимость самого дешевого. Здесь нам нужно обработать несколько случаев цены. Для этого мы используем конструкцию elif. Сначала проверяется if, если он False, то далее все elif по очереди, пока не найдется True. Если везде false, то выполнится конструкция else.

print ('Взять деньги')money = int(input('Сколько денег дадим роботу? ')) print ('Пойти в магазин')cost_coockies = 100cost_candies = 250cost_pie = 500 if money >= cost_pie: print ('Купить торт') elif money >= cost_candies: print ('Купить конфеты') elif money >= cost_coockies: print ('Купить печенье') else: print ('Денег не хватило, самая дешевая сладость:') print (cost_coockies) print ('Вернуться домой')

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: