【问题标题】:I am getting an EOF error and don't know how to fix it我收到 EOF 错误,不知道如何解决
【发布时间】:2016-05-16 04:06:33
【问题描述】:

我正在尝试编写一个符合这些规则的程序:
你的租约到期了,是时候搬家了。不幸的是,你有很多东西,你不想花太多时间移动它,因为你宁愿练习你的编程技能。值得庆幸的是,您有可以提供帮助的朋友,尽管这种帮助是有代价的。您的朋友每小时可以移动 20 个盒子,但他们需要一个 16 英寸(直径)的披萨来完成这项工作。用 Python 编写一个函数,获取您拥有的盒子的数量并返回您需要购买多少平方英尺的比萨饼。使用函数头:sqFtPizza(numBoxes)

并让它以浮点数的形式返回披萨的平方英尺。

这是我的代码

def sqFtPizza(numBoxes):
    a = 3.14159*(8*8)
    c = 1/12**2
    sqft = a * c
    za =numBoxes/20
    area = za * sqft
    print (area)
def question():
    numBoxes= float(int(input("How many boxes do you have?: " )))
    sqFtPizza(numBoxes)
question() 

请帮忙?

【问题讨论】:

  • 如果您使用的是 Python 2,则希望使用 raw_input 而不是 input。
  • 你正在接受一个 int 的浮点数?
  • 你可以使用numBoxes = float(raw_input('How many boxes?: '))

标签: python function python-2.x


【解决方案1】:

使函数名称符合 PEP8,

# --- Python 2.x ---
from __future__ import division          # make int/int return float
from math import pi

PIZZA_PER_BOX = pi * (8 / 12)**2 / 20    # one 16" pizza per 20 boxes

def sq_ft_pizza(num_boxes):
    """
    Input:  number of boxes to be moved
    Output: square feet of pizza to feed movers
    """
    return PIZZA_PER_BOX * num_boxes

def main():
    num_boxes = float(raw_input("How many boxes must you move? "))
    print("You need {:0.2f} square feet of pizza!".format(sq_ft_pizza(num_boxes)))

if __name__ == "__main__":
    main()

运行方式

How many boxes must you move? 120
You need 8.38 square feet of pizza!

【讨论】:

    猜你喜欢
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2018-05-31
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多