本文介绍了如何使用 While 循环、函数、切片和递归来编写 Python 程序反转数字。要反转数字,首先必须找到数字中的最后一位数字。接下来,将其添加到另一个变量的第一位,然后从原始数字中删除该最后一位数字。
Python 程序使用 While 循环反转数字
此数字反转程序允许用户通过 while 循环输入任何正整数。此程序会迭代每个数字以反转它们。
Number = int(input("Please Enter any Number: "))
Reverse = 0
while(Number > 0):
Reminder = Number %10
Reverse = (Reverse *10) + Reminder
Number = Number //10
print("\n Reverse of entered number is = %d" %Reverse)

此程序允许用户输入任何正整数。然后,将该数字赋给变量 Number。接下来,Python While 循环中的条件确保给定数字大于 0。
从上面的 Python 示例程序中,用户输入的整数值为:Number = 1456,Reverse = 0
第一次迭代
Reminder= Number%10
Reminder= 1456%10 = 6
Reverse= Reverse*10 + Reminder
Reverse= 0 * 10 + 6 = 0 + 6 = 6
Number= Number//10
Number= 1456 //10 = 145
第二次迭代:从 While 循环第一次迭代开始,Number 和 Reverse 的值都已更改,变为 Number= 145 和 Reverse= 6。
Reminder= 145 % 10 = 5
Reverse = 6 * 10 + 5 => 60 + 5 = 65
Number= 145 //10 = 14
第三次迭代:从第二次迭代开始,Number= 14 且 Reverse= 65
Reminder= 14%10 = 4
Reverse= 65 * 10 + 4 => 650 + 4 = 654
Number= 14//10 = 1
第四次迭代:从第三次迭代开始,Number = 1 且 Reverse = 654
Reminder = 1 %10 = 1
Reverse= 654 * 10 + 1 => 6540 + 1 = 6541
Number= 1//10 = 0
此时,对于下一次迭代,Number= 0。因此,while 循环条件失败。因此,最终输出为 6541。
Python 程序使用 for 循环反转数字
此程序使用 for 循环范围来迭代数字中的数字并反转它们。
num = int(input("Enter any Number = "))
rv = 0
for i in range(len(str(num))):
rv = rv * 10 + num % 10
num = num // 10
print("The Result = ", rv)
Enter any Number = 12345
The Result = 54321
使用函数反转数字的程序
此程序允许用户输入任何正整数,然后我们将使用函数来反转一个整数。
def rev_Integer(num):
rev = 0
while(num > 0):
rem = num %10
rev = (rev *10) + rem
num = num //10
return rev
num = int(input("Please Enter any Num: "))
rev = rev_Integer(num)
print("\n Result = %d" %rev)
Please Enter any Num: 234589
Result = 985432
在此程序中,当它到达程序中的 rev = rev_Integer (num) 行时,编译器将立即跳转到下面的函数
def rev_Integer(Number):
最后一行以 return Reverse 语句结束。
Python 程序使用递归反转数字
此程序允许用户输入任何正整数。然后,我们将使用递归来反转数字。
rv = 0
def rv_Int(nm):
global rv
if(nm > 0):
Reminder = nm %10
rv = (rv *10) + Reminder
rv_Int(nm //10)
return rv
nm = int(input("Please Enter any Value : "))
rv = rv_Int(nm)
print("\n The Result of entered is = %d" %rv)

在此示例中,当编译器到达程序中的 rv = rv_Int(nm) 行时,编译器将立即跳转到下面的函数
def rv_Int(nm):
在此函数中,下面的语句有助于使用更新后的值递归调用函数。如果您错过了此语句,它将在完成第一行后终止。
Rerv_Int(nm //10)
例如,Number = 459 的输出为 9。
让我们看一下 If 语句,
if (nm > 0),检查数字是否大于 0。对于递归函数,在递归使用函数之前放置条件至关重要。否则,我们将陷入无限执行(与无限循环相同)。
使用递归示例 2
def rev_int(n):
if n < 10:
return n
else:
return int(str(n % 10) + str(rev_int(n // 10)))
num = int(input("Enter any Value = "))
rv = rev_int(num)
print("The Result = ", rv)
Enter any Value = 12345
The Result = 54321
使用切片反转数字
在此示例中,str(num) 将给定数字转换为字符串,而 [::-1] 将对字符串进行切片并以反转的顺序返回字符。接下来,int() 函数将把反转的数字转换回整数。
num = int(input("Enter any Number: "))
rev = int(str(num)[::-1])
print("Result = ", rev)
Enter any Number: 23987
Result = 78932
使用列表推导式
此示例代码使用列表推导式和 reversed 函数。
num = int(input("Enter any Number = "))
rv = int(''.join([str(i) for i in reversed(str(num))]))
print("The Result = ", rv)
Enter any Number: 98427
The Result = 72489
The Result = 72489
评论已关闭。