2016-02-06 73 views
0

我想写一个适合这些规则的程序:
你的租约已经到了,是时候搬家了。不幸的是,你有很多东西,你不想花太多时间来移动它,因为你更愿意练习你的编程技巧。谢天谢地,你们有可以帮助的朋友,虽然这种帮助是有代价的。你的朋友可以每小时移动20个盒子,但他们需要一个16英寸(直径)的比萨饼来完成这项工作。用Python编写一个函数,获取您拥有的箱子数量,并返回您必须购买多少平方英尺的披萨。使用功能标题:sqFtPizza(numBoxes)我得到一个EOF错误,不知道如何解决它

并让它将比萨的平方英尺作为浮点数返回。

这是代码我有

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() 

请帮助?

+0

,你想用'raw_input',而不是'input'。 – L3viathan

+2

你正在使用int的float吗? –

+0

你可以使用'numBoxes = float(raw_input('多少个盒子?:'))' – tijko

回答

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() 

如果你在Python 2里它运行像

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