2024-04-26 13:04:10 发布
网友
这是公式, 3.14=3*10^0+1*10^-1+4*10^-2=3.14
但是我使用的是下面的python脚本,它一直计算3.55的结果,有人能帮我吗?你知道吗
n=0 m='3.14'.split('.') for i in m: if i == m[0]: f= (int(i,base=10)) else: for x in i: for v in range(len(i)): n+=10**(-v-1)*int(x) print (float(f+n))
好吧,问题是你不想把m的值转换成float,相反,你想用split方法,这里没有合理的用法, 相反,尝试将m转换为float,然后使用公式和for循环
in case you don't know how to cast m = float('3.14')
m = float('3.14')
你的最后两个循环,在同一件事上循环两次,也就是说,你做1*10^-1+4*10^-1+1*10^-2+4*10^-2,得到.55。你知道吗
你应该写:
n=0 m='3.14'.split('.') for i in m: if i == m[0]: f= (int(i,base=10)) else: v=0 for x in i: n+=10**(-v-1)*int(x) v=v+1 print (float(f+n))
但是你有内置的函数来为你做这些
好吧,问题是你不想把m的值转换成float,相反,你想用split方法,这里没有合理的用法, 相反,尝试将m转换为float,然后使用公式和for循环
你的最后两个循环,在同一件事上循环两次,也就是说,你做1*10^-1+4*10^-1+1*10^-2+4*10^-2,得到.55。你知道吗
你应该写:
但是你有内置的函数来为你做这些
相关问题 更多 >
编程相关推荐