Заметки Python #3: Операторы, циклы, конструкции

Обучение

Третья часть обучения Питону. Сейчас будет потрудней, но интересней. 

Оператор If

Оператор If дает нам логическое условие вида «что будет, если». А полная условная инструкция if-elif-else звучит как «Если первое верно, то…если второе верно, то…если неверно ничего, то…». Гораздо проще это показать на примере. Это задание обычно называют «Медицинской анкетой». Т.е. мы вводим данные пациента и сравниваем некоторые параметры его здоровья

[code]

#вводим необходимый для анализа пациента параметры
name = input(‘Имя: ‘) #вводим имя (тип переменной: строка)
surname = input(‘Фамилия: ‘) #вводим фамилия (тип переменной: строка)
age = int(input(‘Возраст: ‘)) #вводим возраст (тип переменной: число)
weight = int(input(‘Вес: ‘)) #вводим вес (тип переменной: строка)

if age < 30 and (50 <= weight < 120):
print (‘У вас хорошее состояние’)
elif age > 30 and (50 > weight > 120):
print (‘Требуется заняться собой’)
elif age > 40 and (50 <= weight < 120):
print (‘Нужно срочно к врачу’)
else:
print(‘ни одно условие не выполнилось’)

[/code]

Результат зависит от того, какие данные мы введем, соответственно программа нам напечатает условие, которое совпало.

Не забывайте ставить двоеточие в конце каждого условия

Вложение IF

Оператор If можно вкладывать в другой оператор if много раз, но не забывайте, что для этого будет нужен еще один отступ (четыре пробела или tab, если работаете в pycharm). Немного изменим предыдущий код, добавив к условию еще одно:

[code]

name = input(‘Имя: ‘)
surname = input(‘Фамилия: ‘)
age = int(input(‘Возраст: ‘))
weight = int(input(‘Вес: ‘))

if age < 30 and (50 <= weight < 120):
print (‘У вас хорошее состояние’)
elif age > 30 and (50 > weight > 120):
print (‘Требуется заняться собой’)
elif age > 40 and (50 <= weight < 120):
print (‘Нужно срочно к врачу’) # в этоже условие добавляем еще одно
if name == ‘Павел’: # если введенное имя Павел, то
print(‘Павел, или к врачу’) # выводим еще одно сообщение ниже
else:
print(‘ни одно условие не выполнилось’)

[/code]

Цикл While

Цикл — это многократное повторение одного и того же действия (в нашем случае, выполнение кода). Можно описать его таким определением — «Пока выполняется следующее условие, будет выполнятся следующий код…». Если в условии While мы указываем параметр true (еще один вариант — единица), что означает бесконечный цикл, в ином случае: пока не выполнится следующее действие.

[code]

while(True): #запускаем бесконечный цикл
number = int(input(‘Введите число: ‘)) #просим пользователя ввести число, саму переменную приводим к числовому значению
if 0 < number < 10: #вводим условие, если число пользователя больше ноля и меньше десяти
print(number**2) #то выводим переменную возведенную в степень 2
break # т.к. результат получен, прерываем цикл
else: # если условие не выполнилось, то…
print(‘Допустимый диапазон чисел: от 0 до 10. Введите корректное число’) #выводим информационное сообщение

[/code]

Результат выполнения зависит, опять же, от того, что введет пользователь

Если цикл не бесконечный, то как только не будут выполнятся условие цикла — он закончится и программа будет считать код за этим циклом.

В заданиях часто встречается такие задачки: Вывод чисел от 0 до 100, вывод чисел от 0 до n (вводит пользователь) и вывод четных чисел от 0 до n. Вот как это решается:

[code]

number = 0

while number <=100:
print(number)
number = number +1 # либо number += 1

# вывод чисел от 0 до n

number = 0
n = int(input(‘введите число’))

while number <=n:
print(number)
number = number +1 # либо number += 1

# вывод четных чисел от 0 до n

number = 0
n = int(input(‘введите число’))

while number <=n:
if number%2 == 0:
print(number)
number = number +1 # либо number += 1

[/code]

Конструкция break

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

[code]

name = None # объявим переменную со типом данным none, т.е. переменная пока будет пустой

while(True):
name =input(‘Как тебя зовут, сынок: ‘)
if name == ‘санек’:
print(‘Чувак, ты точно санек’)
break
print (‘Попробуй еще раз, может ты санек?’)

[/code]

Конструкция continue

Возвращает нас в начало цикла, игнорируя команды ниже неё. Т.е. после continue начинается новая итерация цикла. Тот же самый пример с использованием continue. Для этого немного перепишем код

[code]

name = None # объявим переменную со типом данным none, т.е. переменная пока будет пустой

while name != ‘санек’: # теперь цикл у нас не бесконечный, условие «пока введеное имя не санек»
name =input(‘Как тебя зовут, сынок: ‘)
if name != ‘санек’:
print(‘Попробуй еще раз, может ты санек?’)
continue # этой конструкцией мы отправляем цикл на новую итерацию
print(‘Чувак, ты точно санек’) # если условие не выполняется — мы выходим из цикла и пишем, что он точно санек

[/code]

Конструкция while-else

else в конце цикла (когда условие цикла не становится true) позволяет нам указать программе, что нужно выполнить в таком случае. Тот же самый пример с «Саньком»:

[code]

name = None # объявим переменную со типом данным none, т.е. переменная пока будет пустой

while name != ‘санек’: # теперь цикл у нас не бесконечный, условие «пока введеное имя не санек»
name =input(‘Как тебя зовут, сынок: ‘)
if name != ‘санек’:
print(‘Попробуй еще раз, может ты санек?’)
else:
print(‘Чувак, ты точно санек’) # если у нас условие цикла не выполняется (а значит пользователь ввел именно «санек», то срабатывает else

[/code]

Оцените автора
( Пока оценок нет )
Digital 2 - Цифровая реальность
Добавить комментарий