【问题标题】:Can't convert a number to a float无法将数字转换为浮点数
【发布时间】:2020-01-26 01:22:03
【问题描述】:

作为python的一个极端新手,我正在尝试解决一个家庭作业问题,但我不明白我做错了什么。我有下面的代码和错误消息,希望有人能告诉我哪里出错了。

英里输入尝试 10、50,然后是 100。哪个有效。 mpg 为 20.0。也有效。 gp 输入是 3.1599,这给了我这个错误。不知道为什么。

miles = float(input())  
mpg = float(input())
gp = float(input())
price = (miles*1.0/mpg)*gp
print(price)

Traceback(最近一次调用最后一次): 文件“main.py”,第 3 行,在 gp = 浮动(输入()) EOFError:读取一行时出现EOF

【问题讨论】:

  • 我猜你的意思是:miles = float(input())?
  • 是的,更正了。仍然给我一个回调到第 5 行。
  • 您确定输入的值正确吗?无法重现错误
  • 我正在做作业的网站会自动输入值。它对我个人有用,但是当我尝试提交它以获得成绩时,它给了我关于第 5 行的相同错误消息
  • 第一个是不是换行而不是输入数字?

标签: python input int


【解决方案1】:

对我来说很好用。见下文:

输出

【讨论】:

  • 也适用于我,但是当我尝试提交时给我上面描述的错误。我想我得问问我的导师出了什么问题。
  • @AlexBurke 很棒。你介意点赞我的回复吗?我是新来的,这对我有很大帮助。谢谢!
【解决方案2】:

当系统给出输入但输入读取行不在正确的位置读取它时,通常会导致在线编译器出现 EOF 错误。再次阅读示例输入语法并尝试,或在代码中提供输入。

你可以使用 try catch 块来解决这个问题。

在您的代码中,您没有在第 1 行将英里数作为 int,但您尝试在第 6 行将其与浮点数相乘。

try:
  miles = float(input())   
  print('Enter miles per gallon:')
  mpg = float(input())
  print('Enter the gas price:')
  gp = float(input())
  price = (miles*1.0/mpg)*gp  
  print(price)
except:
  pass

【讨论】:

  • 将里程更改为 int(input()) 然后 int(float(input())),仍然给我同样的错误: Traceback(最近一次调用最后一次):文件“main.py” ,第 5 行,在 gp = float(input()) EOFError: EOF when reading a line
  • 尝试:----您的代码---- ----您的代码---- ----您的代码---- 除了 EOFError 为 e :通过
  • 简单使用try和except块并传入expect块
  • 根本不明白如何做到这一点,并且语法需要准确才能正确评分,因此当我在代码中添加任何额外内容时,它会拒绝提交。
  • mpg = float(input('输入每加仑英里数:')) gp = float(input('输入汽油价格:')) price = (10*1.0/mpg)*gp print (price) price = (50*1.0/mpg)*gp print(price) price = (400*1.0/mpg)*gp print(price) 就这么简单,估计是我想多了
【解决方案3】:
`mpg = float(input('Enter miles per gallon:'))
 gp = float(input('Enter the gas price:'))
 price = (10*1.0/mpg)*gp print(price) 
 price = (50*1.0/mpg)*gp print(price) 
 price = (400*1.0/mpg)*gp print(price)`      

这就是答案,解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多