Chuỗi Python thành Int: Cách chuyển đổi chuỗi thành số nguyên trong Python

Không giống như nhiều ngôn ngữ lập trình khác, Python không hoàn toàn nhập các số nguyên (hoặc float) vào các chuỗi khi bạn nối chúng với các chuỗi.

May mắn thay, Python có một hàm tích hợp tiện dụng str()sẽ chuyển đổi đối số được truyền sang định dạng chuỗi.

Cách sai để chuyển đổi chuỗi thành số nguyên trong Python

Các lập trình viên đến từ các ngôn ngữ lập trình khác có thể cố gắng thực hiện nối chuỗi sau, điều này sẽ tạo ra lỗi:

age = 18 string = "Hello, I am " + age + " years old"

Bạn có thể chạy mã này trên repl.it.

Lỗi hiển thị là:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Ở đây, TypeError: must be str, not intchỉ ra rằng số nguyên trước tiên phải được chuyển đổi thành một chuỗi trước khi nó có thể được nối.

Cách chính xác để chuyển đổi một chuỗi thành một số nguyên trong Python

Đây là một ví dụ về nối đơn giản:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Bạn có thể chạy mã này trên repl.it.

Đây là cách in 1 2 3 4 5 6 7 8 9 10bằng một chuỗi đơn:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Bạn có thể chạy mã trên repl.it.

Dưới đây là giải thích từng dòng về cách mã trên hoạt động:

  1. Trước hết, một biến 'kết quả' được gán cho một chuỗi rỗng.
  2. Vòng lặp for đang được sử dụng để lặp qua một danh sách các số.
  3. Danh sách các số này được tạo bằng cách sử dụng hàm phạm vi.
  4. vì vậy phạm vi (1,11) sẽ tạo ra một danh sách các số từ 1 đến 10.
  5. Trên mỗi lần lặp vòng lặp for, biến 'i' này sẽ nhận các giá trị từ 1 đến 10.
  6. Trong lần lặp đầu tiên khi biến i = 1, sau đó biến [result = result + str (i) + “(ký tự khoảng trắng)”], str (i) chuyển đổi 'i' là giá trị nguyên thành giá trị chuỗi.
  7. Vì i = 1, ở lần lặp đầu tiên, kết quả cuối cùng là = 1.
  8. Và quá trình tương tự tiếp tục cho đến khi i = 10 và cuối cùng sau lần lặp cuối cùng kết quả = 1 2 3 4 5 6 7 8 9 10.
  9. Do đó, cuối cùng khi chúng ta in kết quả sau vòng lặp for, đầu ra trên bảng điều khiển là '1 2 3 4 5 6 7 8 9 10'.

Tôi hy vọng bạn thấy điều này hữu ích. Chúc bạn viết mã vui vẻ.