刚学Python,在拿几个小栗子练手,被卡住了,这样写为啥运行结果不对呐,
if t/10:改为 if t//10: , t/=10改为 t=t//10
因为t//10才是整除,t/10的结果是浮点数
比如输入123,t/10的结果是12.3,不是12,t//10才是12,修改如下:
t = int(input())
i=1
while True:
if t//10:
i=i+1
t=t//10
print(t)
else:
break
print(i)
你初始统计位数的i应该为0,不然还没开始就有1位了
另外判断条件应该是t>1
t=int(input())
i=0
while True:
if t>1:
i+=1
t=t/10
else:
break
print(i)