Книга «Изучаем Python»


Eric Hello, Eric! 122



Pdf көрінісі
бет77/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   73   74   75   76   77   78   79   80   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

Eric
Hello, Eric!


122
Глава 7 • Ввод данных и циклы while
Использование int() для получения числового ввода
При использовании функции 
input()
Python интерпретирует все данные, введен-
ные пользователем, как строку. В следующем сеансе интерпретатора программа 
запрашивает у пользователя возраст:
>>> 
age = input("How old are you? ")
How old are you? 
21
>>> 
age
'21'
Пользователь вводит число 21, но, когда мы запрашиваем у Python значение 
age
, выводится 
'21'
— представление введенного числа в строковом формате. 
Кавычки, в которые заключены данные, указывают на то, что Python интерпре-
тирует ввод как строку. Но попытка использовать данные как число приведет 
к ошибке:
>>> 
age = input("How old are you? ")
How old are you? 
21
 
>>> 
age >= 18
Traceback (most recent call last): 
File "", line 1, in  
 
TypeError: unorderable types: str() >= int() 
Когда вы пытаетесь сравнить введенные данные с числом в точке 

, Python выдает 
ошибку, потому что не может сравнить строку с числом: строка 
'21'
, хранящаяся 
в 
age
, не сравнивается с числовым значением 18; происходит ошибка 

.
Проблему можно решить при помощи функции 
int()
, интерпретирующей строку 
как числовое значение. Функция 
int()
преобразует строковое представление числа 
в само число:
>>> 
age = input("How old are you? ")
How old are you? 
21
 
>>> 
age = int(age)
>>> 
age >= 18
True 
В этом примере введенный текст 
21
интерпретируется как строка, но затем он 
преобразуется в числовое представление вызовом 
int()
в точке 

. Теперь Python 
может проверить условие: сравнить переменную 
age
(которая теперь содержит 
числовое значение 21) с 18. Условие «значение 
age
больше или равно 18» выпол-
няется, и результат проверки равен 
True
.
Как использовать функцию 
int()
в реальной программе? Допустим, программа 
проверяет рост пользователя и определяет, достаточен ли он для катания на ат-
тракционе:
rollercoaster.py
height = input("How tall are you, in inches? ")
height = int(height)


Как работает функция input()
123
if height >= 36:
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!
Если пользователь вводит числовые данные, которые используются в вашей про-
грамме для вычислений и сравнений, обязательно преобразуйте введенное значение 
в его числовой эквивалент.
Оператор вычисления остатка
При работе с числовыми данными может пригодиться оператор вычисления остат-
ка (
%
), который делит одно число на другое и возвращает остаток:
>>> 


Достарыңызбен бөлісу:
1   ...   73   74   75   76   77   78   79   80   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет