Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để đảo ngược một số. Mặc dù điều này tương tự như học cách đảo ngược một chuỗi trong Python mà bạn có thể tìm hiểu tại đây, nhưng việc đảo ngược một số cho phép chúng ta sử dụng toán học để đảo ngược số của mình. Bạn sẽ học cách sử dụng vòng lặp while trong Python, lập chỉ mục chuỗi và cách tạo một hàm dễ đọc để đảo ngược một số trong Python
Câu trả lời nhanh. Sử dụng vòng lặp While Python
Mục lục
Đảo ngược số Python bằng vòng lặp While
Python giúp dễ dàng đảo ngược một số bằng cách sử dụng vòng lặp while. Chúng tôi sử dụng vòng lặp while với sự trợ giúp của cả phép chia tầng và toán tử %
mô-đun
Hãy cùng xem một ví dụ để biết cách thức hoạt động của tính năng này và sau đó tìm hiểu lý do tại sao tính năng này hoạt động
number = 67890 reversed_number = 0 while number != 0: digit = number % 10 reversed_number = reversed_number * 10 + digit number //= 10 print[reversed_number] # Returns: 9876
Hãy phá vỡ những gì chúng ta làm ở đây
- Chúng tôi khởi tạo hai biến,
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
0 vànumber = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
1. Cái đầu tiên lưu số ban đầu của chúng ta và cái thứ hai có giá trị lànumber = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
2 - Mặc dù biến
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
0 của chúng tôi bằng với bất kỳ giá trị nào củanumber = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
2, nhưng chúng tôi lặp lại các hành động bên dưới - Chúng ta khởi tạo
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
5 và gán cho nó mô đun [phần dư] của số chia cho 10 - Chúng tôi nhân số đảo ngược của chúng tôi với 10 và thêm chữ số của chúng tôi
- Cuối cùng, chúng tôi trả về kết quả sàn của số của chúng tôi chia cho 10 [điều này về cơ bản sẽ loại bỏ số ở bên phải]
- Quá trình này được lặp lại cho đến khi số ban đầu của chúng tôi bằng không
Điều quan trọng cần lưu ý là cách tiếp cận này chỉ hoạt động với số nguyên và sẽ không hoạt động với số float
Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng lập chỉ mục chuỗi Python để đảo ngược một số
Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? . Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi tại đây
Đảo ngược số Python bằng lập chỉ mục chuỗi
Một cách khác mà chúng ta có thể đảo ngược một số là sử dụng lập chỉ mục chuỗi. Một trong những lợi ích của phương pháp này là phương pháp này sẽ hoạt động với cả số nguyên và số thực
Để thực hiện công việc này, trước tiên chúng tôi biến số thành một chuỗi, đảo ngược nó và biến nó trở lại thành một số. Vì chúng tôi sẽ cần chuyển đổi nó trở lại loại ban đầu, trước tiên chúng tôi cần kiểm tra loại số
Hãy xem làm thế nào chúng ta có thể thực hiện điều này trong Python
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.09876
Lập chỉ mục Python cho phép chúng ta lặp lại một đối tượng có thể lặp lại, chẳng hạn như một chuỗi. Tham số thứ ba là tùy chọn nhưng đại diện cho bộ đếm bước, nghĩa là cách đi qua một mục. Theo mặc định, giá trị là
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.098760, có nghĩa là giá trị này đi từ giá trị đầu tiên đến giá trị cuối cùng. Bằng cách sử dụng giá trị của
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.098761, chúng tôi yêu cầu Python tạo một chuỗi mới ngược lại
Chúng tôi sử dụng kiểm tra loại để xác định loại số nào sẽ quay trở lại
Trong phần tiếp theo, bạn sẽ tìm hiểu cách tạo hàm tùy chỉnh giúp mã dễ theo dõi và dễ hiểu hơn
Bạn muốn tìm hiểu cách sử dụng hàm Python
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.098762 để lặp qua hai danh sách?
Đảo ngược số Python bằng chức năng tùy chỉnh
Trong phần này, bạn sẽ học cách biến những gì bạn đã học ở phần trên thành một hàm dễ đọc. Mặc dù mã có vẻ trực quan khi chúng tôi viết nó, nhưng độc giả tương lai của chúng tôi có thể không đồng ý. Do đó, chúng ta có thể biến mã của mình thành một chức năng làm rõ mã của chúng ta đang hy vọng đạt được điều gì
Hãy xem làm thế nào chúng ta có thể thực hiện điều này trong Python
def reverse_number[number]: """Reverses a number [either float or int] and returns the appropriate type. Args: number [int|float]: the number to reverse Returns: int|float: the reversed number """ if type[number] == float: return float[str[number][::-1]] elif type[number] == int: return int[str[number][::-1]] else: print['Not an integer or float'] print[reverse_number[12345.43]] print[reverse_number[456]] # Returns: # 34.54321 # 654
Hàm của chúng tôi chấp nhận một tham số duy nhất, một số. Chức năng đầu tiên kiểm tra loại là gì. Nếu loại là
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.098764 hoặc
number = 67890.123 reversed_number_string = str[number][::-1] if type[number] == float: reversed_number = float[reversed_number_string] elif type[number] == int: reversed_number = int[reversed_number_string] print[reversed_number] # Returns 321.098765, nó sẽ đảo ngược số và trả về cùng một loại. Nếu loại là bất kỳ thứ gì khác, hàm sẽ in ra rằng loại đó không phải là float hay int
Bạn muốn tìm hiểu thêm về chuỗi f Python?
Sự kết luận
Trong bài đăng này, bạn đã học cách đảo ngược một số bằng cách sử dụng cả lập chỉ mục toán học và chuỗi. Bạn cũng đã học cách chuyển đổi phương thức lập chỉ mục chuỗi thành một hàm sẽ giúp người đọc mã của bạn hiểu rõ mã của bạn đang làm gì
Nếu bạn muốn tìm hiểu thêm về lập chỉ mục chuỗi trong Python, hãy xem tài liệu chính thức về chuỗi tại đây