Kami diberi nomor yang harus dibalik. Itu berarti kita membutuhkan digit terakhir untuk didahulukan, diikuti oleh digit terakhir kedua dan seterusnya, dan digit pertama akan muncul terakhir.
Salah satu cara untuk mencapai ini adalah dengan menggunakan perulangan while. Kondisi untuk while loop adalah sampai nomor awal kita memiliki digit bukan nol yang tersisa, mis. e. , sampai angka aslinya tidak sama dengan nol
Kami akan menginisialisasi variabel baru yang akan menyimpan nomor terbalik kami, jadi kami perlu menambahkan digit terakhir terlebih dahulu di nomor ini. Pada perulangan while, kita dapat mengambil modulo bilangan dengan sepuluh untuk mendapatkan digit terakhir. Jawabannya adalah digit terakhir
Sekarang kita perlu menambahkan digit ini ke angka terbalik kita, tetapi mungkin saja angka yang dibalik sudah berisi beberapa digit. Jika kita hanya menambahkan angka ini, itu akan menghasilkan jawaban yang salah. Jadi pertama-tama kita perlu menggeser semua digit yang ada di angka terbalik dengan satu tempat. Oleh karena itu, kami mengalikan angka terbalik dengan 10 dan menambahkan digit ini
Digit terakhir saat ini dari nomor asli telah ditambahkan ke nomor terbalik dan karenanya harus dihapus. Jadi, kita membagi angka aslinya dengan 10 dan mengambil lantainya, sehingga angka terakhir dihilangkan
Proses berlanjut hingga angka awal kita menjadi 0, dan kita mendapatkan angka terbalik dalam variabel kita
Kode
# 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))
Keluaran
Membalik angka menggunakan String-Slicing
Untuk membalikkan angka dengan metode ini, kami menggunakan properti string, yaitu pemotongan string. Mengiris adalah mendapatkan substring dari sebuah string dengan python
Hal yang menarik tentang slicing adalah jika kita menggunakan -1 sebagai parameter, kita bisa mendapatkan substring dari akhir, sehingga membalik angkanya. Oleh karena itu, dalam metode ini, pertama-tama kita mengonversi bilangan menjadi string, lalu dengan mengiris, kita membalikkannya
Kode
# 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) _
Keluaran
Membalikkan angka menggunakan Rekursi
Untuk membalikkan angka dengan metode ini, kami menggunakan rekursi. Masalahnya dengan rekursi adalah kita dapat terus memanggil fungsi rekursif berulang kali hingga kita mencapai indeks terakhir
Ini akan menjadi kasus dasar kami, di mana kami kemudian dapat mulai menambahkan karakter ke string terbalik yang dihasilkan. Jadi, karakter akan ditambahkan dengan cara ini. indeks terakhir diikuti oleh indeks terakhir kedua dan seterusnya, dan indeks pertama akan ditambahkan di bagian akhir
Dengan cara ini, kita dapat membalikkan string dengan memanggil fungsi rekursif terlebih dahulu dan menambahkan karakternya nanti
Kode
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)
Keluaran
Membalik angka menggunakan for loop
Untuk membalikkan angka dengan metode ini, kami terus menambahkan karakter dari belakang string asli ke string baru menggunakan for a loop. Dengan cara ini, string baru yang terbentuk dibalik, karena karakter terakhir ditambahkan terlebih dahulu, diikuti oleh karakter kedua terakhir, dan seterusnya dan karakter pertama ditambahkan terakhir.
Kode
# 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)
Keluaran
Membalik angka menggunakan Metode terbalik
Kami menggunakan fungsi python reversed() untuk membalikkan angka dengan metode ini. Fungsi ini mengembalikan pointer yang dapat mengulangi string/daftar dalam urutan terbalik. Kami menggunakan metode join() dari python untuk mendapatkan nomor terbalik dari iterator ini akhirnya
Kode
# 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) _
Keluaran
Membalik nomor menggunakan Daftar
Dalam metode ini, kami memanfaatkan fakta bahwa python menyediakan metode reverse() untuk daftar dimana elemen daftar dibalik
Jadi, kita hanya menambahkan digit nomor kita ke dalam daftar menggunakan fungsi list() dengan python, kemudian menggunakan metode kebalikannya untuk mendapatkan digit dalam urutan terbalik dan kemudian dengan menggunakan metode join(), kita mendapatkan hasil akhir
Metode join() dalam python digunakan untuk mengubah iterator menjadi satu string tunggal. Untuk mendapatkan string terbalik dari iterator ini, kami menggunakan metode join() dari python dan menyimpan hasilnya dalam reversed_num
Kode
# 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)
Keluaran
Membalik nomor menggunakan Stack
Metode ini memanfaatkan properti dari stack. Tumpukan menyimpan elemen dalam urutan LIFO atau Last In First Out. Ini berarti elemen yang didorong di ujung tumpukan adalah elemen yang dihapus terlebih dahulu
Jadi, secara intuitif jika kita mendorong semua digit nomor kita dari awal ke dalam tumpukan, saat mengeluarkannya, mereka akan berada dalam urutan terbalik, dan kita dapat menyimpannya untuk mendapatkan nomor terbalik terakhir.