Chuyển đổi giữa chuỗi kí tự và số nguyên

Chuyển đổi giữa chuỗi kí tự và số nguyên

Chúng ta cuối cùng sẽ phải đọc bán kính và chiều cao như đầu vào. Chúng ta sau đó sẽ sử dụng các giá
trị đó để tính toán thể tích. Hãy thử:

>>> r = input()
4
>>> h = input()
6

Hàm input luôn trả về một chuỗi kí tự thậm chí nếu người dùng gõ vào một số nguyên:

>>> r
‘4’
>>> h
‘6’

Dấu nháy đơn ” khẳng định rằng các giá trị này là chuỗi kí tự. Chuỗi kí tự không thể được sử dụng để
thực hiện tính toán toán học. Nếu chúng ta thử, chúng ta nhận một lỗi:

>>> (PI * r ** 2 * h) / 3
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: unsupported operand type(s) for ** or pow(): ‘str’ and ‘int’

Một typeError được khởi tạo khi chúng t sử dụng các giá trị sai dạng. Python bác bỏ chúng ta sử dụng
toán tử ** trên chuỗi kí tự được tham chiếu đến bởi r và số nguyên 2. Toán tử ** hoàn toàn là toán học
và không có nghĩa khi được sử dụng với string.
Để chuyển đổi chuỗi kí tự của chúng ta thành số nguyên, chúng ta có thể sử dụng hàm int của Python:

>>> r
‘4’
>>> h
‘6’
>>> r = int(r)
>>> h = int(h)
>>> r
4
>>> h
6

Bây giờ chúng ta lại có thể sử dụng lại một lần nữa các giá trị này trong công thức của chúng
ta:

>>> (PI * r ** 2 * h) / 3
100.53096491487338

Bất cứ khi nào bạn có một chuỗi kí tự các kí tự của nó trình bày một số nguyên, bạn có thể sử
dụng hàm int để chuyển đổi nó thành một giá trị dạng của nó là số nguyên. Nó có thể chạm trán
với các khoảng trắng đầu và cuối, nhưng không phải các kí tự không phải số:

>>> int(‘ 12 ‘)
12
>>> int(’12x’)
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
ValueError: invalid literal for int() with base 10: ’12x’

Khi chuyển đổi một chuỗi kí tự được trả về bởi input thành một số nguyên, chúng ta có thể thực
hiện 2 bước, trước tiên gán giá trị trả về của input vào một biến và sau đó chuyển đổi giá trị
đó thành một số nguyên:

>>> num = input()
82
>>> num = int(num)
>>> num
82

Hay chúng ta có thể kết hợp lời gọi input và int:

>>> num = int(input())
82
>>> num
82

Ở đây đối số được truyền tới int là string được trả về bởi input. Hàm int lấy chuỗi kí tự này
và trả về nó như một số nguyên
Nếu chúng ta từng cần chuyển đổi theo cách khác, từ một số nguyên thành một chuỗi kí tự, chúng
ta có thể làm cái đó với hàm str:

>>> num = 82
>>> ‘my number is ‘ + num
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: can only concatenate str (not “int”) to str
>>> str(num)
’82’
>>> ‘my number is ‘ + str(num)
‘my number is 82’

Chúng ta không thể nối một chuỗi kí tự và một số nguyên. Hàm str trả về ’82’ từ 82 để rằng nó có
thể được sử dụng trong một nối chuỗi kí tự.

Bài toán tính Cone Volume hoàn chỉnh:

Chúng ta code như sau:

¶ PI = 3.141592653589793
· radius = int(input())
¸ height = int(input())
¹ volume = (PI * radius ** 2 * height) / 3
º print(volume)

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *