Đảo ngược một số bằng cách sử dụng vòng lặp while trong python

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

  1. 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
  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ủ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.09876
    2, nhưng chúng tôi lặp lại các hành động bên dưới
  3. 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
  4. 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
  5. 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]
  6. 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.09876
0, 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.09876
1, 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.09876
2 để 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.09876
4 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.09876
5, 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

Chủ Đề