我在程序中两次使用此语句。第二次失败。ValueError:无法将字符串转换为浮点数:
output=""
pitcherName=input("Enter name of the next contestant, or nothing to quit: ")
pitcherTime=input("Enter time for " +str(pitcherName)+ " in milliseconds: ")
highestSpeed=pitcherTime
lowestSpeed=pitcherTime
fastestPitcher=pitcherName
slowestPitcher=pitcherName
while pitcherName!="":
pitcherName=input("Enter name of the next contestant, or nothing to quit: ")
pitcherTime=float(input("Enter time for " +str(pitcherName) +" in milliseconds: "))
pitcherSpeed=round(40908/pitcherTime, 2)
output=output +str(pitcherName)+ "\t" +str(round(pitcherTime, 2)) + "\t" +str(round(pitcherSpeed, 2)) + "\n"
if fastestPitcher==pitcherName and pitcherSpeed>highestSpeed:
fastestPitcher=pitcherName
highestSpeed=pitcherSpeed
elif slowestPitcher==pitcherName and pitcherSpeed>lowestSpeed:
slowestPitcher=pitcherName
lowestSpeed=pitcherSpeed
print("Name" + "\t" +"Time" +"\t" +"Speed" + "\n" + "===========================" + "\n")
print(output)
print("Slowest pitcher was " +str(slowestPitcher) +" at " +str(round(lowestSpeed, 2)) +" miles per hour")
print("Fastest pitcher was " +str(fastestPitcher) +" at " +str(round(highestSpeed, 2)) +" miles per hour")
exit=input("Press nothing to`enter code here` exit")
错误接收:
pitcherTime=float(input("Enter time for " +str(pitcherName) +" in milliseconds: "))
ValueError: could not convert string to float:
我知道这可能是一个基本的问题,但我想知道为什么它的工作的while
循环之外,但里面没有它。已经完成之后是否需要转换为浮动状态?
如果来自用户的输入不能转换为“浮点数”,它将不起作用。这取决于用户输入的内容。 – khelwood 2014-11-02 18:38:20
我们可以有更多的上下文吗? – phantom 2014-11-02 18:51:59
您给出的输入是什么?请记住,您只能在一行中输入一个浮点数。 – GingerPlusPlus 2014-11-02 19:11:52