Cách chuyển đổi chuỗi thành số nguyên bằng Python



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về cách chuyển một chuỗi thành số nguyên theo nhiều cách khác nhau với các ví dụ.

Trong chủ đề này, chúng ta sẽ tìm hiểu về cách chuyển đổi một chuỗi thành số nguyên có và không sử dụng kiểu dữ liệu tích hợp sẵn. Chúng ta biết rằng một chuỗi là một tập hợp các ký tự được sắp xếp liên tiếp trong dấu ngoặc kép và một số nguyên là một số không có bất kỳ dấu thập phân nào và không kèm theo bất kỳ loại dấu ngoặc kép nào.

Chuỗi sang số nguyên python





Nhưng khi câu hỏi đặt ra là làm thế nào để chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác, Python cung cấp một cách dễ dàng để chuyển đổi thành kiểu dữ liệu khác. Trong trường hợp này, chúng ta thấy cách chúng ta có thể chuyển đổi một chuỗi thành một số nguyên theo thứ tự sau:

Sử dụng các kiểu dữ liệu có sẵn



Giả sử khi tôi lấy đầu vào từ người dùng vì một lý do nào đó, Python sẽ lấy nó và trả về nó dưới dạng chính một chuỗi. Nói cách khác, ngay cả khi ai đó nhập một số làm đầu vào, Python sẽ trả về nó dưới dạng một chuỗi.

name = input ('Tên của bạn là gì:') print (tên) print (type (tên)) age = input ('Tuổi của bạn là gì:') print (age) print (type (age))

Đầu ra:

Tên bạn là gì: Tyra



Tyra

Tuổi của bạn là bao nhiêu: 20

hai mươi

Vì vậy, bạn thấy, loại tên và tuổi được lấy làm đầu vào là 'Chuỗi'.

Bây giờ, giả sử nếu chúng ta muốn thêm 5 tuổi vào tuổi, chúng ta sẽ làm như sau:

name = input ('Tên của bạn là gì:') print (tên) print (type (tên)) age = input ('Tuổi của bạn là gì:') print (age) print (type (age)) print (age + 5)

Đầu ra:

Tên bạn là gì: Tyra

Tyra

Tuổi của bạn là bao nhiêu: 20

chuyển đổi một chuỗi thành ngày tháng trong java

hai mươi

Traceback (cuộc gọi gần đây nhất cuối cùng):

Tệp 'C: /Users/prac.py', dòng 9, trong

in (tuổi + 5)

TypeError: phải là str, không phải int

Chúng tôi không thể thêm 5 vào tuổi vì tuổi thuộc loại Chuỗi và chúng tôi không thể làm toán trực tiếp với chuỗi. Vì vậy, chúng ta phải thay đổi tuổi thành một số nguyên vì chúng ta đã lấy tuổi làm đầu vào và Python trả về nó dưới dạng Chuỗi.

Vì thế.

name = input ('Tên của bạn là gì:') print (tên) print (type (tên)) age = input ('Tuổi của bạn là gì:') print (age) print (type (age)) age = int ( tuổi) in (tuổi + 5)

Đầu ra:

Tên bạn là gì: Tyra

Tyra

Tuổi của bạn là bao nhiêu: 20

hai mươi

25

Cách thông thường

Giả sử chúng ta không muốn sử dụng hàm tích hợp int () để chuyển đổi chuỗi thành số nguyên.Vì vậy, chúng ta phải sử dụng cách thông thường để chuyển đổi.

Đây là một cách đơn giản để chuyển đổi mà không cần sử dụng int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False for i in range (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_negative: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' print (str_to_int (s))

Đầu ra:

123

-123

  • Trước tiên, chúng tôi sẽ kiểm tra xem số do người dùng cung cấp có chứa bất kỳ dấu trừ nào hay không, tức là có phải là số âm hay không.Nếu nó chứa ở vị trí đầu tiên dưới dạng dấu trừ, chúng tôi bắt đầu chuyển đổi từ vị trí thứ hai chứa số.

  • Bất kỳ số nào, giả sử 123, có thể được viết dưới dạng -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Tương tự, chúng tôi chia từng số đầu vào bằng cách sử dụng từ (đối số) .

  • ord (‘0’) sẽ trả về 48, ord (‘1’) trả về 49, v.v.

    cách sử dụng phương thức trim trong java
  • Ở đây, chúng tôi sử dụng logic ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2, v.v. cung cấp cho chúng tôi số có nghĩa được tìm nạp từ các số đầu vào.

  • Cuối cùng, đầu ra chúng ta nhận được từ hàm là một số nguyên hợp pháp mà chúng ta đã chuyển đổi từ chuỗi đầu vào đã cho.

Vì vậy, như bạn có thể thấy, chúng ta có thể chuyển đổi bất kỳ chuỗi nào thành số nguyên bằng cách sử dụng hàm int () hoặc theo cách thông thường.

Tôi hy vọng rằng bạn đã học tốt các khái niệm và do đó hãy thử nó để chính xác hơn và với điều này, chúng ta sẽ kết thúc bài viết này về Chuyển đổi chuỗi thành int bằng Python.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của Hướng dẫn xâu chuỗi thành số nguyên này và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký tham gia trực tiếp với hỗ trợ 24/7 và truy cập trọn đời.