Đảo ngược số trong Python bằng vòng lặp for

nếu (nm > 0) thì kiểm tra xem số đó có lớn hơn 0 hay không. Đối với các hàm đệ quy, việc đặt một điều kiện trước khi sử dụng hàm đệ quy là điều cần thiết. Mặt khác, chúng tôi kết thúc trong thực thi vô hạn (Giống như Vòng lặp vô hạn)

Chúng tôi được cho một số phải đảo ngược. Điều đó có nghĩa là chúng ta cần chữ số cuối cùng xuất hiện trước, tiếp theo là chữ số cuối cùng thứ hai, v.v. và chữ số đầu tiên sẽ xuất hiện sau cùng

Một cách để đạt được điều này là sử dụng vòng lặp while. Điều kiện cho vòng lặp while sẽ là cho đến khi số ban đầu của chúng ta còn lại các chữ số khác 0, i. e. , cho đến khi số ban đầu không bằng 0

Chúng tôi sẽ khởi tạo một biến mới sẽ lưu trữ số bị đảo ngược của chúng tôi, vì vậy chúng tôi cần thêm chữ số cuối cùng vào số này trước. Trong vòng lặp while, chúng ta có thể lấy modulo của số bằng 10 để có chữ số cuối cùng. Câu trả lời cho điều này sẽ là chữ số cuối cùng

Bây giờ chúng ta cần thêm chữ số này vào số bị đảo ngược, nhưng có thể số bị đảo ngược đã chứa một số chữ số. Nếu chúng ta chỉ thêm chữ số này, nó sẽ dẫn đến câu trả lời sai. Vì vậy, trước tiên chúng ta cần chuyển tất cả các chữ số hiện có trong số bị đảo ngược đi một vị trí. Do đó, chúng tôi nhân số bị đảo ngược với 10 và thêm chữ số này

Chữ số cuối hiện tại của số ban đầu đã được thêm vào số bị đảo ngược và do đó cần được xóa. Vì vậy, chúng tôi chia số ban đầu cho 10 và lấy tầng của nó, vì vậy chữ số cuối cùng bị xóa

Quá trình tiếp tục cho đến khi số ban đầu của chúng tôi trở thành 0 và chúng tôi nhận được số bị đảo ngược trong biến của mình

Mã số

# the number to be reversed
num = 529412

# the number after reversal
reversed_num = 0

# start a while loop till complete number has been reversed
while num != 0 :
    
    # taking modulo with 10 gives us the last digit of num
    curr_digit = num % 10
    
    # appending the last digit of num to reversed_num
    # for this we multiply the curr reversed_num by 10 and add curr_digit to it
    
    reversed_num = 10*reversed_num 
    reversed_num = reversed_num + curr_digit
    
    # remove the last digit from num by dividing it by 10
    num = num // 10
    
# we get the reversed_num
print("Reversed Number is: " + str(reversed_num))

đầu ra

Đảo ngược một số bằng String-Slicing

Để đảo ngược một số theo phương pháp này, chúng tôi sử dụng thuộc tính của chuỗi, đó là cắt chuỗi. Cắt lát đang lấy chuỗi con của một chuỗi trong python

Điều thú vị về việc cắt lát là nếu chúng ta sử dụng -1 làm tham số, chúng ta có thể lấy chuỗi con từ cuối, do đó đảo ngược số. Do đó, trong phương pháp này, trước tiên chúng tôi chuyển đổi số của mình thành một chuỗi và sau đó bằng cách cắt, chúng tôi đảo ngược nó

Mã số

# the number to be reversed
num = 97402

#convert number to string 
num_string = str(num)

# store the size of the number
size = len(num_string)

# use slicing to reverse 
reversed_num = num_string[size::-1]

#output reversed number
print("Reversed Number is: " + reversed_num)

đầu ra

Đảo ngược một số bằng cách sử dụng Đệ quy

Để đảo ngược một số theo phương pháp này, chúng tôi sử dụng đệ quy. Vấn đề với đệ quy là chúng ta có thể tiếp tục gọi hàm đệ quy nhiều lần cho đến khi đạt được chỉ mục cuối cùng

Đây sẽ là trường hợp cơ bản của chúng tôi, nơi chúng tôi có thể bắt đầu thêm các ký tự vào chuỗi đảo ngược kết quả. Vì vậy, các ký tự sẽ được thêm vào theo cách này. chỉ mục cuối cùng theo sau là chỉ mục cuối cùng thứ hai, v.v. và chỉ mục đầu tiên sẽ được thêm vào cuối

Theo cách này, chúng ta có thể đảo ngược chuỗi bằng cách gọi hàm đệ quy trước và thêm ký tự sau

Mã số

def reverse(n) :
    
    #if no digits remain
    if len(n)==0 :
        return n
    
    #else add the first digit to the end and recurse for remaining number
    return reverse(n[1:]) + n[0]


# the number to be reversed
num = 1749

#convert number to string 
num_string = str(num)

#call the recursive function to reverse num
reversed_num = reverse(num_string)

#output reversed number
print("Reversed Number is: " + reversed_num)

đầu ra

Đảo ngược một số bằng vòng lặp for

Để đảo ngược một số bằng phương pháp này, chúng tôi tiếp tục thêm các ký tự từ phía sau của chuỗi ban đầu vào một chuỗi mới bằng cách sử dụng vòng lặp for. Theo cách này, chuỗi mới được hình thành sẽ bị đảo ngược, vì ký tự cuối cùng được thêm vào trước, tiếp theo là ký tự cuối cùng thứ hai, v.v. và ký tự đầu tiên được thêm vào cuối cùng

Mã số

# the number to be reversed
num = 38954

#convert number to string 
num_string = str(num)

# initialize a variable that will store the reversed number
reverse_num = ''

#start a for loop to reverse the number
for i in range(0,len(num_string)):
    
    #add the current digit to the start of the reversed number
    reverse_num = num_string[i] + reverse_num
    
#we get the reversed number in reverse_num
print("Reversed Number is: " + reverse_num)

đầu ra

Đảo ngược số trong Python bằng vòng lặp for

Đảo ngược một số bằng phương pháp đảo ngược

Chúng tôi sử dụng chức năng đảo ngược python() để đảo ngược một số bằng phương pháp này. Hàm này trả về một con trỏ có thể lặp lại chuỗi/danh sách theo thứ tự ngược lại. Cuối cùng, chúng tôi sử dụng phương thức nối () của python để lấy số bị đảo ngược từ trình vòng lặp này

Mã số

# the number to be reversed
num = 982447

#convert number to string 
num_string = str(num)

#reverse the string using reversed method
reversed_num = "".join(reversed(num_string))

#output reversed number
print("Reversed Number is: " + reversed_num)

đầu ra

Đảo ngược một số bằng cách sử dụng Danh sách

Trong phương pháp này, chúng tôi sử dụng thực tế là python cung cấp phương thức reverse() cho các danh sách mà theo đó các phần tử của danh sách bị đảo ngược

Vì vậy, chúng tôi chỉ cần thêm các chữ số của số của chúng tôi vào danh sách bằng cách sử dụng hàm list() trong python, sau đó sử dụng phương thức đảo ngược trên đó để lấy các chữ số theo thứ tự ngược lại và sau đó bằng cách sử dụng phương thức nối(), chúng tôi thu được giá trị cuối cùng

Phương thức join() trong python được sử dụng để chuyển đổi một iterator thành một chuỗi đơn. Để có được chuỗi đảo ngược từ iterator này, chúng tôi sử dụng phương thức nối () của python và lưu trữ đầu ra trong Reverseed_num

Mã số

# the number to be reversed
num = 629378

#convert number to string 
num_string = str(num)

#convert the number into a list
number_list = list(num_string)

#use the reverse method of the list to reverse the list
number_list.reverse()

#convert the list into number again
reversed_num = ''.join(number_list)

#output reversed number
print("Reversed Number is: " + reversed_num)

đầu ra

Đảo ngược một số bằng cách sử dụng Stack

Phương pháp này sử dụng thuộc tính của ngăn xếp. Một ngăn xếp lưu trữ các phần tử theo thứ tự LIFO hoặc Last In First Out. Điều này có nghĩa là các phần tử được đẩy vào cuối ngăn xếp là những phần tử được loại bỏ trước

Vì vậy, theo trực giác nếu chúng ta đẩy tất cả các chữ số của số của mình từ đầu vào ngăn xếp, khi bật chúng ra, chúng sẽ theo thứ tự ngược lại và chúng ta có thể lưu trữ chúng để lấy số đảo ngược cuối cùng

Bạn có thể đảo ngược một số trong Python không?

Đảo ngược số bằng Phương pháp đảo ngược . Hàm này trả về một con trỏ có thể lặp lại chuỗi/danh sách theo thứ tự ngược lại. Cuối cùng, chúng tôi sử dụng phương thức nối () của python để lấy số bị đảo ngược từ trình vòng lặp này. We use the python reversed() function to reverse a number by this method. This function returns a pointer that can iterate the string/list in reverse order. We use the join() method of python to obtain the reversed number from this iterator finally.

Hàm Reverse() trong Python là gì?

Python đảo ngược() . computes the reverse of a given sequence object and returns it in the form of a list.

Làm cách nào để đảo ngược một số trong Python mà không cần sử dụng chức năng đảo ngược?

Để đảo ngược danh sách mà không sử dụng hàm Reverse() tích hợp, chúng tôi sử dụng Toán tử cắt lát . Toán tử cắt là một phương pháp khác được sử dụng để đảo ngược các phần tử dữ liệu.