运输当局正在实施新的道路收费系统。当局决定按照每英里的行程距离收取汽车费用。一辆车将收费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()
答案 0 :(得分:1)
要求是(强调我的):
......该功能应该作为汽车的类型和输入 旅行距离,返回收费价格。
这意味着:
代码中的另一个问题是语句中的表达式没有检查car_type
的值。此外,您应该使用更有意义的变量名称(例如,distance
和car_type
,而不是x
和y
)。
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)
答案 1 :(得分:0)
您是否尝试将变量与某些字符串进行比较?
if y == "car":
答案 2 :(得分:0)
你的if
语句有问题:首先你没有检查任何条件,其次input
返回一个`string``
试试这个:
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