我必须写一个程序,从用户那里得到一个数字,然后从左到右打印它的数字。(如果用户给出32768
,则输出应为3 2 7 6 8
)。
我写了这个代码,前半部分计算数字,后半部分分离数字并打印它们。这两个代码块单独工作(比如如果你在第二个代码块中给予count和n的值,它就工作了),但合在一起就不工作了(),输出显示0 0 0 0 0
count=0
while n>0:
count=count+1
n=n//10
x=10**(count-1)
for a in range(1,count+1,1):
y=int(n//x)
n=n%x
x=x/10
print(y,end=" ")
5条答案
按热度按时间nnsrf1az1#
你可以简单地做:
输入:
输出:
5f0d552i2#
如果你的代码在后半部分,你试图把数字分开并打印出来。问题是你在循环中修改了n的值,这会导致不正确的结果。
试试modyfing它像这样:
original_n
用于跟踪n
的原始值,而n
本身在循环内被修改以进行数字分离。希望能帮上忙!如果是的话,请留下你的意见!!^^
eufgjt7s3#
你必须从用户那里得到一个整数(input)。不允许使用str.join()。
因此:
控制台:
注:
这对负数无效
oaxa6hgo4#
我解决了!!这是一个愚蠢的问题()谢谢你编码的人没有嘲笑我。我只需要把输入n放到另一个变量中,然后在下半部分使用它。
vof42yt15#
你可以使用for循环来打印数字,一个接一个,后面加一个空格: