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