Python-尝试反向打印整数
例如,我希望输入234打印出432。我以为我已经确定了,但不管出于什么原因,我总是会遇到运行时错误。我对Java没问题,但Python对我来说是新事物,任何帮助都将不胜感激Python-尝试反向打印整数,python,Python,例如,我希望输入234打印出432。我以为我已经确定了,但不管出于什么原因,我总是会遇到运行时错误。我对Java没问题,但Python对我来说是新事物,任何帮助都将不胜感激 def reverseDigits(n): reverse = n % 10 str(reverse) n = n // 10 while n > 0: temp = n % 10 str(temp) reverse = str(rever
def reverseDigits(n):
reverse = n % 10
str(reverse)
n = n // 10
while n > 0:
temp = n % 10
str(temp)
reverse = str(reverse) + str(temp)
temp = int(temp)
n // 10
return reverse
def main():
n = eval(input("Enter a integer: "))
print("The reverse of the digits of ", n, "is", reverseDigits(n))
main()
您可以只使用列表切片:
n = int(input("Enter a integer: "))
new_integer = int(str(n)[::-1])
请注意,不鼓励使用
eval
,因为这样会使系统容易受到代码注入的影响 更改while循环内的行[错误是因为它进入无限循环]
n // 10
到
请注意,
str(x)
不会修改x
;它只计算str(x)并丢弃该值。这些行在代码中没有任何作用,我认为您对Python如何处理数据类型有一个基本的误解str(reverse)
不会将reverse
声明为字符串,也不会以任何方式修改reverse
。它所做的只是返回reverse
@coldspeed的字符串表示形式。它看起来不像str的问题,它是一个逻辑问题一个解释性的句子,你有4票。。。干得好;)
n = n // 10