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
                  ​
   83   84   85   86   87   88   89   90   91   92   93