我是python新手,我正在使用v2.7
#Filename:ReverseNumber.py
data=int(raw_input("Enter any number: "))
print "Reverse of the number: ",
while data!=0:
a=data%10
print a,
data=data/10
所以输出应该是这样的:
Enter any number: 123
Reverse of the number: 321
但是在第二行中,它在每个数字之前打印一个额外的空格。
如何克服这一点?
您可以通过多种方式修改您的方法:
创建一个值列表,然后用一个空白字符串将它们连接起来打印:
out = []
while data != 0:
out.append(data % 10)
data /= 10
print ''.join(map(str, out))
您可以跳过整个整数转换步骤,只反转输入的字符串:
data = '123'
print data[-1::-1]
您可以跳过整数步骤,并将结果连接到reversed:
data = '123'
print ''.join(reversed(data))
你可以在你的数字打印命令中添加一个backspace
:
while data != 0:
print 'b%d' % (data % 10)
data /= 10
希望其中一个符合您的要求。
显示a
时,有一个隐式空格
从python文档:
"在每个对象(转换和)写入之前写入一个空格,除非输出系统认为它位于一行的开头。这是以下情况:(1)还没有字符写入标准输出,(2)写入标准输出的最后一个字符是除' '以外的空白字符,或(3)标准输出的最后一个写操作不是打印语句。"
所以尝试
print "Reverse of the number:",
一种方法是在准备好打印全部内容之前不打印它。下面的示例代码使用字符串:
data = int (raw_input ("Enter any number: "))
if data == 0:
str = "0"
else:
str = ""
while data != 0:
str = "%s%d" % (str, data % 10)
data = data / 10
print "Reverse of the number: %s" % (str)
创建一个空变量,用于存储反转的数字,在循环中将每个数字追加,然后进行打印。
a = ''
while data!=0:
a += data%10
data=data/10
print a