Изучаем Python | страница 90



. .print("\nYou're tall enough to ride!")

else:

. .print("\nYou'll be able to ride when you're a little older.")

Программа может сравнить height с 36, потому что строка height = int(height) преобразует входное значение в число перед проведением сравнения. Если введенное число больше или равно 36, программа сообщает пользователю, что он прошел проверку:

How tall are you, in inches? 71

You're tall enough to ride!

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

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


При работе с числовыми данными может пригодиться оператор вычисления остатка (%), который делит одно число на другое и возвращает остаток:

>>> 4 % 3

1

>>> 5 % 3

2

>>> 6 % 3

0

>>> 7 % 3

1

Оператор % не сообщает частное от целочисленного деления; он возвращает только остаток.

Когда одно число нацело делится на другое, остаток равен 0, и оператор % возвращает 0. Например, этот факт может использоваться для проверки четности или нечетности числа:

even_or_odd.py

number = input("Enter a number, and I'll tell you if it's even or odd: ")

number = int(number)


if number % 2 == 0:

. .print("\nThe number " + str(number) + " is even.")

else:

. .print("\nThe number " + str(number) + " is odd.")

Четные числа всегда делятся на 2. Следовательно, если остаток от деления на 2 равен 0 (number % 2 == 0), число четное, а если нет — нечетное.

Enter a number, and I'll tell you if it's even or odd: 42


The number 42 is even.

Ввод данных в Python 2.7


Если вы работаете с Python 2.7, для запроса данных у пользователя следует использовать функцию raw_input(). Эта функция интерпретирует весь ввод как строку — точно так же, как функция input() в Python 3.

В Python 2.7 также есть функция input(), но эта функция интерпретирует пользовательский ввод как код Python и пытается выполнить его. В лучшем случае Python не сможет интерпретировать введенные данные, и вы получите сообщение об ошибке; в худшем случае будет выполнен код, который вы выполнять не собирались. Итак, в Python 2.7 вместо функции input() используется функция raw_input().

Упражнения

7-1. Прокат машин: напишите программу, которая спрашивает у пользователя, какую машину он хотел бы взять напрокат. Выведите сообщение с введенными данными (например, “Let me see if I can find you a Subaru”).

7-2. Заказ стола: напишите программу, которая спрашивает у пользователя, на сколько мест он хочет забронировать стол в ресторане. Если введенное число больше 8, выведите сообщение о том, что пользователю придется подождать. В противном случае сообщите, что стол готов.