Python 程序反转数字

本文介绍了如何使用 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)
Python Program to Reverse a Number Using While Loop

此程序允许用户输入任何正整数。然后,将该数字赋给变量 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)
Reverse a Number Using Recursion function

在此示例中,当编译器到达程序中的 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

评论已关闭。