我需要这个Python程序的帮助。
输入如下:
Enter number: 1
Enter number: 2
Enter number: 3
Enter number: 4
Enter number: 5
程序必须输出:
Output: 54321
我的代码是:
n = 0
t = 1
rev = 0
while(t <= 5):
n = int(input("Enter a number:"))
t+=1
a = n % 10
rev = rev * 10 + a
n = n // 10
print(rev)
它的输出是“12345”而不是“54321”。
我应该改变什么?
6条答案
按热度按时间0yg35tkg1#
试试这个:
gwbalxhn2#
试试看:
kxeu7u2r3#
如果你创建一个列表并将所有值添加到其中,然后像这样反向打印,可能会有一个更简单的方法:
efzxgjgh4#
你可以试试这个:
6ie5vjzr5#
维护数字上下文:使用“10自乘到t”(10^t)
这段代码与您的解决方案没有太大区别,因为它继续处理整数,并将
rev
作为整数返回:(10 ** t)
是执行10^t
的Python形式(10的t次方);* 在此上下文中,其用作向左的位置移位 *。缺陷
与此程序发生:如果您插入整数
0
作为最后一个值,则它不会出现在输出中。示例:对于输入数字
12340
,输出是数字4321
。如何用zfill()方法解决缺陷
如果你想把结果作为字符串而不是整数来管理,我们可以用字符串方法
zfill()
在字符串的开头加零。在此上下文中,
zfill()
方法用零填充字符串,直到字符串长度达到5个字符。修改后的程序如下所示:
对于输入为
"12340"
的上一个代码,输出为字符串"04321"
。iecba09b6#