[英]Reverse digits in a number
我想在 python 中反转数字中的数字。 这是我的两个实现。
一:将数字转换为字符串,并反转其中的每个char
number = 2376674032
number_s = str(number)
index = len(number_s) - 1
str_list = []
while index > -1:
str_list.append(number_s[index])
index -= 1
result = int("".join(str_list))
print(result)
二:使用简单的数学
number = 2376674032
N = 0
K = number
R = number % 10
while K > 0:
N = N*10 + R
K = K // 10
R = K % 10
result = N
print(result)
由于我对 python 编程很陌生,所以有人可以帮助我解决以下问题:
"".join(str_list)
会为每个列表元素生成一个新字符串吗? 如果是这样是在python中连接字符串的更好方法(类似于java中的StringBuffer
)您可以使用 -1 作为切片中的步骤来反转字符串。 所以这有效:
number = 2376674032
number_s = str(number)
reverse_s = number_s[::-1]
reversed = int(reverse_s)
a = 1234
a = int("".join(reversed(str(a))))
这将给出 a = 4321
反转函数返回一个可迭代对象。 如果我们这样做:
a = list(reversed(str(a)))
它将返回 [“3”,”2″,”1″]。 然后我们加入它并转换为int。
要使数字成为integer
类型,我们必须使用int
函数,如下所示:
numbers=str(123456)
#or numbers="123456"
print((int(numbers[::-1])))
print((type(int(numbers[::-1]))))
输出:
654321
<类'int'>
我们也可以在一行中使用 [::-1]
打印(int(str(int(input()))[::-1]))
#here is my answer . you can do it using simple recursion
# count digits recursively
def reverse_digits(n):
# base case
if n == 0:
pass
#recursive case
else:
print(n%10,end='')
return reverse_digits(n//10)
# reverse 123
reverse_digits(123)
````````````````````````````````````````````````````
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.