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

例如,我希望输入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(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