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
                  ​
   107   108   109   110   111   112   113   114   115   116   117