蜗壳 @ 2021-05-16 09:31:30
while True: x=float(input("请输入一个小数点后一位的浮点数")) if 100<x<1000: break
x=int(x*10)
y=len(str(x))
a=[]
sum =0
for i in range(y): a.append(x%10) x=x//10
for i in range(y): sum=sum+a[i]*(1/10)**i print(sum)
by CGDGAD @ 2021-05-16 09:33:52
希望更丰富的展现?使用Markdown
by _Life_ @ 2021-05-16 09:42:22
谁让你输出请输入一个小数点后一位的浮点数
的?
by 蜗壳 @ 2021-05-16 09:42:22
@NSObject 谢谢~
by 蜗壳 @ 2021-05-16 09:43:02
@Life x=eval(input())
x=int(x*10)
y=len(str(x))
a=[]
sum =0
for i in range(y): a.append(x%10) x=x//10
for i in range(y): sum=sum+a[i]*(1/10)**i print(sum)
by CGDGAD @ 2021-05-16 09:43:54
请阅读 https://www.luogu.com.cn/blog/luogu/how-to-use-markdown
by 蜗壳 @ 2021-05-16 09:44:11
@Life 现在更改了之后,还是不行,系统说第一行过长……
by _Life_ @ 2021-05-16 09:50:48
@Xing1135014157 小心精度误差 你测下输入114.5
by 蜗壳 @ 2021-05-16 09:56:21
@Life 嗯嗯,精度误差好像是所有语言都无法避免的,我输入999.2也是这样。这道题是不是还需要用“乘法-》截取-》除法”这个呀
by _Life_ @ 2021-05-16 10:00:39
@蜗壳 格式化输出字符串
#将该数去小数并整数化
x=int(float(input())*10)
#取该数的长度
y=len(str(x))
#申请空向量
a=[]
#记录x中的每一个数
for i in range(y):
a.append(x%10)
x=x//10
#初值为零
sum=0.0
#按算法求和
for i in range(y):
sum=sum+a[i]*(1/10)**i
print("%.3f"%(sum))
by _Life_ @ 2021-05-16 10:01:53
另一个做法就是直接逆序输入字符串