Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建道路定价功能_Python_Function - Fatal编程技术网

Python 创建道路定价功能

Python 创建道路定价功能,python,function,Python,Function,交通管理局正在实施一项新的道路收费制度。当局决定,这些汽车将按每英里行驶的距离收费。一辆汽车每英里收费0.50美元,一辆面包车每英里收费2.1美元,出租车免费出行。创建一个函数,根据特定距离确定特定车辆的充电量。该函数应将车辆类型和行驶距离作为输入,并返回收费价格 上面的问题是我必须要做的,下面的代码是我到目前为止所拥有的。我遇到的问题是,我收到了一个错误,因为之前没有识别汽车、面包车和出租车。但如果我这样做,它会打印出所有3种情况。如何根据y的输入打印出1个结果 def Road_Pr

交通管理局正在实施一项新的道路收费制度。当局决定,这些汽车将按每英里行驶的距离收费。一辆汽车每英里收费0.50美元,一辆面包车每英里收费2.1美元,出租车免费出行。创建一个函数,根据特定距离确定特定车辆的充电量。该函数应将车辆类型和行驶距离作为输入,并返回收费价格

上面的问题是我必须要做的,下面的代码是我到目前为止所拥有的。我遇到的问题是,我收到了一个错误,因为之前没有识别汽车、面包车和出租车。但如果我这样做,它会打印出所有3种情况。如何根据y的输入打印出1个结果

    def Road_Pricing():
        x = float(input("How many miles is driven?"))
        y = (input("What car was driven?"))
        if "car":
           print (.50*x)
        if "van": 
           print (2.1*x)
        if "taxi":
           print ("Free")
    Road_Pricing()

您正在尝试将变量与一些字符串进行比较吗


if y==“car”:

您的
if
语句有问题:首先您没有检查任何条件,其次
输入
返回一个`字符串``

请尝试以下方法:

def Road_Pricing():
    x = float(input("How many miles are driven?"))
    type = input("What car was driven?")
    if type == 'car':
       print ("%f$ to pay" %.50*x)
    elif type == 'van': 
       print ("%f$ to pay" %2.1*x)
    elif type == 'taxi':
       print ("Free ride")
pass
要求如下(重点):

。。。。。。该函数应将车辆类型和 行驶距离,返回所收取的价格

这意味着:

  • 该功能应采用两个参数:一个用于车辆类型,另一个用于行驶距离
  • 您必须返回价格(我怀疑这是一个浮点数),而不是简单地打印它
  • 代码中的另一个问题是语句中的表达式没有检查
    car\u type
    的值。此外,您应该使用更有意义的变量名(例如,
    distance
    car\u type
    ,而不是
    x
    y


    如果您的
    语句不正确,请尝试
    如果y==“car”
    。另外,您应该返回值,而不是打印它。一个重要的概念是python if检查
    truthy
    值。对于字符串,空字符串是
    falsy
    ,非空字符串是
    truthy
    。因此,如果“van”:
    将始终导致van输出打印。这就是为什么您总是看到这三种情况的输出。您遗漏了这一部分:“函数应将车辆类型和行驶距离作为输入,并返回收费价格。”非常感谢,我应该意识到我没有用语句检查任何内容。仍然遗漏了这一部分:“该函数应将汽车类型和行驶距离[…]作为输入。看起来应该是参数。@Matthias是的,我认为你是对的。我编辑了我的答案。@通常在这个网站上,人们不会在帖子下的评论中说“谢谢”。相反,他们(通过单击帖子左侧的大向上箭头)以及为他们工作的职位。
    def road_pricing(car_type, distance):
        if car_type == "car":
           return .50 * distance
        if car_type == "van": 
           return 2.1 * distance
        if car_type == "taxi":
           return 0
    
    car_type = raw_input("What car was driven? ")
    distance = float(input("How many miles is driven? "))
    print road_pricing(car_type, distance)