Page 88 - Em Học Python
P. 88
Lúc này converted_age sẽ giữ giá trị là chuỗi '10' thay vì số 10.
Còn nhớ lúc nãy if age == 10 không in ra gì khi biến age là chuỗi không ( age =
'10')? Nếu ta đổi kiểu của biến trước khi so sánh, kết quả sẽ hoàn toàn khác:
>>> age = '10'
>>> converted_age = int(age)
>>> if converted_age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")
What's the best way to speak to a monster?
From as far away as possible!
Nhưng phải nhớ một điều: Nếu chuyển một số thập phân em sẽ gặp lỗi ngay, vì hàm
int cần một số nguyên cơ.
>>> age = '10.5'
>>> converted_age = int(age)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
converted_age = int(age)
ValueError: invalid literal for int() with base 10: '10.5'
ValueError là cách Python nói giá trị em đang dùng có chỗ nào đó không đúng. Để
sửa chỗ này ta sẽ dùng hàm float thay cho hàm int. Hàm float có thể xử lý những số
không phải số nguyên.
>>> age = '10.5'
>>> converted_age = float(age)
>>> print(converted_age)
10.5
62 Chương 5