永发信息网

ValueError:could not convert string to float:求助

答案:2  悬赏:30  手机版
解决时间 2021-02-24 01:29
  • 提问者网友:寂寞撕碎了回忆
  • 2021-02-23 13:57
ValueError:could not convert string to float:求助
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-02-23 14:49
这是python中string转float的问题吧?楼主具体的代码和报错点在哪?没代码也不知道该如何修改,大致的讲就是出错在类型转换的时候,看看input之类的地方吧
全部回答
  • 1楼网友:woshuo
  • 2021-02-23 15:00
>>> print '{0:4.2f}'.format(0.25)0.25首先,可以发现,最后一句话是正确的,在输入值为float的情况下。那么可以排除,问题处在第一二句。。 weight=float(raw_input())high= float(raw_input()) 你应该这样: >>> try: weight=float(raw_input()) high= float(raw_input()) bmi=weight/high**2 print '{0:4.2f}'.format(bmi)except valueerror, e: print "您输入的数据不是有效数字,请重新输入" 98.68686.250.00>>> try: weight=float(raw_input()) high= float(raw_input()) bmi=weight/high**2 print '{0:4.2f}'.format(bmi)except valueerror, e: print "您输入的数据不是有效数字,请重新输入" 您输入的数据不是有效数字,请重新输入>>> try: weight=float(raw_input()) high= float(raw_input()) bmi=weight/high**2 print '{0:4.2f}'.format(bmi)except valueerror, e: print "您输入的数据不是有效数字,请重新输入" +p5您输入的数据不是有效数字,请重新输入>>>当然,你可以把try except分开,加一个while循环 直到用户输入正确数据 >>> while true: try: weight=float(raw_input("please input number-a: ").strip()) high= float(raw_input("please input number-b: ").strip()) bmi=weight/high**2 print 'result :{0:4.2f}'.format(bmi) break except valueerror, e: print "您输入的数据不是有效数字,请重新输入, e:%s" % e please input number-a: 98please input number-b: 6 9您输入的数据不是有效数字,请重新输入, e:invalid literal for float(): 6 9please input number-a: 89.89please input number-b: 62.8result :0.02>>>楼主,不妨... 呵呵。我有一年多python工作经验,你这点问题,真是。。。不会找bug 交互又那么差劲
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯