Page 112 - Em Học Python
P. 112
Thay vì tạo ra biến age và gắn cho nó một giá trị cụ thể nào đó ở bên trên lệnh if, ta
muốn để người dùng tự tay nhập số tuổi của họ vào cơ. Trước hết, phải chuyển chỗ code
trên thành hàm đã:
>>> def silly_age_joke(age):
if age >= 10 and age <= 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')
Giờ ta có thể gọi hàm, rồi truyền cho nó vài con số để trong ngoặc. Xem có chạy
được không đây?
>>> silly_age_joke(9)
Huh?
>>> silly_age_joke(10)
What is 13 + 49 + 84 + 155 + 97? A headache!
Ngon! Giờ sửa lại để hàm hỏi tuổi của người dùng nhé (Em có thể thêm bớt xóa sửa
hàm bao nhiêu lần cũng được.)
>>> def silly_age_joke():
print('How old are you?')
age = int(sys.stdin.readline())
if age >= 10 and age <= 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')
Em có để ý thấy hàm int ở ❶ không, là hàm để đổi chữ thành số ấy? Ta phải dùng
nó vì bất cứ cái gì người dùng gõ vào, hàm readline() đều xem là chuỗi hết, nhưng ta lại
cần số để còn so sánh với số 10 và 13 ở ❷. Để chạy thử chương trình, ta gọi hàm mà không
cần truyền tham số nào vào, rồi trả lời câu hỏi How old are you?:
>>> silly_age_joke()
How old are you?
10
What is 13 + 49 + 84 + 155 + 97? A headache!
86 Chương 7