Chuyển đổi chuỗi nhiều số thành int python
Hàm đầu vào lấy một đối số 9 tùy chọn và ghi nó vào đầu ra tiêu chuẩn mà không có dòng mới ở cuốiSau đó, hàm đọc dòng từ đầu vào, chuyển đổi nó thành chuỗi và trả về kết quả Lưu ý rằng hàm 0 được đảm bảo trả về một chuỗi, ngay cả khi người dùng nhập một số nguyênVí dụ đầu tiên lấy nhiều số nguyên được phân tách bằng dấu cách từ người dùng
các str. split() chia chuỗi thành danh sách các chuỗi con bằng cách sử dụng dấu phân cách Khi không có dấu tách nào được chuyển đến phương thức 1, nó sẽ tách chuỗi đầu vào thành một hoặc nhiều ký tự khoảng trắngBước cuối cùng là sử dụng khả năng hiểu danh sách để chuyển đổi các chuỗi trong danh sách thành số nguyên
Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện Trên mỗi lần lặp, chúng tôi chuyển mục danh sách hiện tại sang lớp 2 để chuyển đổi nó thành một số nguyênBạn có thể chuyển một chuỗi phân cách cho phương thức 2 nếu bạn muốn phân tách chuỗi đầu vào trên một ký tự khác, e. g. dấu phẩy
Ngoài ra, bạn có thể sử dụng hàm 3Để lấy nhiều số nguyên từ đầu vào của người dùng trong một dòng
________số 8 Chúng tôi đã sử dụng hàm 1 để tách chuỗi gồm nhiều số nguyên được phân tách bằng dấu cáchHàm map() lấy một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable Hàm 7 gọi lớp 2 với mỗi giá trị trong danh sách và chuyển đổi mỗi chuỗi thành một số nguyên Trước hết, 6 sẽ dừng ở giá trị đầu tiên của danh sách. Trên thực tế, khi danh sách của bạn là 7, 8 sẽ đọc là 9 rồi 0 nên nó sẽ dừng lại. Tại thời điểm này, 1Điều này khá đơn giản để khắc phục. Chỉ cần xóa ký tự phân cách, vì vậy 2. Sử dụng cái này, 3Được rồi, bây giờ bạn có tất cả giá trị của mình. Bạn thay thế 00 bằng 01 để phân tách các số của bạn. Tốt, 02Và sau đó là lỗi thứ hai của bạn. 03. 04 trả về một int và không thể vượt qua các ký tự khoảng trắng. Vì vậy, nó sẽ chỉ chuyển đổi 9 đầu tiên và trả lại. Bạn sẽ không bao giờ nhận được các số khác, vì bạn thậm chí không thực hiện một vòng lặpĐây là giải pháp của tôi. chuyển đổi chuỗi của bạn thành stringstream và sử dụng toán tử 06 6Vì vậy, chúng tôi kết thúc với mã cuối cùng của bạn (Tôi đã xóa các 07, vì có vẻ như bạn đã viết 08 ở đâu đó trong mã của mình) |