📅  最后修改于: 2020-10-29 00:47:05             🧑  作者: Mango
这是面试中最常问到的编程问题。我们可以使用不同的方法在Python反转整数。
在这里,我们将编写一个程序,该程序将输入数字取反。让我们了解以下反转整数的方法。
首先,我们了解该程序的算法。它将易于理解程序逻辑。一旦掌握了逻辑,就可以用任何语言编写程序,而不仅限于Python。
Input Integer: number
(1) Initialize variable revs_number = 0
(2) Loop while number > 0
(a) Multiply revs_number by 10 and add remainder of number
divide by 10 to revs_number
revs_number = revs_number*10 + number%10;
(b) Divide num by 10
(3) Return revs_number
让我们在程序中实现上述算法。
# Ask for enter the number from the use
number = int(input("Enter the integer number: "))
# Initiate value to null
revs_number = 0
# reverse the integer number using the while loop
while (number > 0):
# Logic
remainder = number % 10
revs_number = (revs_number * 10) + remainder
number = number // 10
# Display the result
print("The reverse number is : {}".format(revs_number))
输出:
Enter the integer number: 12345
The reverse number is: 54321
说明-
让我们逐步了解该程序。
我们为用户输入初始化了一个数字变量,并将变量revs_number的初始值设置为null。
第一次迭代
第二次迭代
现在数字是123,而revs_number是5。while检查其条件并执行下一次迭代。
第三次迭代
从第二个迭代开始,Number和Reverse的值都已更改为:number = 123和revs_number = 54
第四次迭代
修改后的数字为12,revs_number为543:现在,再次执行时。
第五次迭代
while循环终止,因为如果发现false为布尔结果。
您可以输入其他号码并检查结果。
让我们了解以下示例。
num = int(input("Enter the number: "))
revr_num = 0 # initial value is 0. It will hold the reversed number
def recur_reverse(num):
global revr_num # We can use it out of the function
if (num > 0):
Reminder = num % 10
revr_num = (revr_num * 10) + Reminder
recur_reverse(num // 10)
return revr_num
revr_num = recur_reverse(num)
print("n Reverse of entered number is = %d" % revr_num)
输出:
Enter the number: 5426
The Reverse of entered number is = 6245
这两个程序的逻辑相同。一旦了解了逻辑,将很容易自己完成。