You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用for循环出现ValueError: could not convert string to float: '.' 如何解决

报错原因分析
  • 你写的for x in U[z]、for y in I[z]属于多余的循环逻辑:U和I拆分后每个元素本身就是完整的数字字符串,比如输入为浮点数4.2时,U[z]的值为字符串"4.2",直接遍历字符串会把单个字符('4'、'.'、'2')依次取出,单独的'.'无法转换为浮点型,就会抛出你遇到的ValueError。
  • 原本的三层循环逻辑会把单个数的每个字符都单独做除法,完全不符合业务需求。
最小改动修复方案

只需要删除两层多余的内循环,直接取U[z]和I[z]做计算即可,改动量极小,核心逻辑不需要调整:

U = list(input().split(" "))
I = list(input().split(" "))
for z in range(len(U)):
    R = float(U[z]) / float(I[z])
    print(round(R, 1), end=" ")
效果验证
  • 输入为题目给出的示例时,输出和预期一致:2.0 1.5
  • 输入为浮点数场景(比如第一行输入4.8 6.6,第二行输入2 4),也能正常输出2.4 1.7,不会再抛出格式转换报错。

内容的提问来源于stack exchange,提问作者Witch Hazel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:45:06