用Python写,编译器上没有问题,为啥这里就不行呢?

P5705 【深基2.例7】数字反转

蜗壳 @ 2021-05-16 09:31:30

判断该数是否在100~1000内

while True: x=float(input("请输入一个小数点后一位的浮点数")) if 100<x<1000: break

将该数去小数并整数化

x=int(x*10)

取该数的长度

y=len(str(x))

申请空向量

a=[]

初值为零

sum =0

记录x中的每一个数

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

记录x中的每一个数

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

另一个做法就是直接逆序输入字符串


| 下一页