我一直在寻找将负数转换为正数的方法,我发现了一些东西但没有用。这是来自在线 Python 页面的练习,我正在学习 Python。我希望你明白这一点。这是洛杉矶之行,我用函数计算钱,但现在出现问题,我“从洛杉矶返回”(我没有去那里,这只是一个问题)然后问题说我花了 2734.23 美元更多并说要以正数计算我的原始钱和2734之间的差额。当我尝试这样做时:print trip_cost("Los Angeles", 5, 600-2734)
它是-779,但问题是它必须是像“779”这样的正数,我试图在另一行上做,但我认为练习希望我在我调用函数的同一行上做,我尝试了一切,我也尝试了 abs,但没有用...... PS他们只是问“600”和“2734”之间的区别,但这对我来说太难了......你能帮我解释一下吗? ? 我已经在学习 Python,我只是个菜鸟。这是代码,对不起我的英语不好......
def hotel_cost(nights): #The nights * 140$
return nights * 140
def plane_ride_cost(city): #The flight cost
if city == "Charlotte":
return 183
elif city == "Tampa":
return 220
elif city == "Pittsburgh":
return 222
elif city == "Los Angeles":
return 475
def rental_car_cost(days): #The car cost
cost = days * 40
if days >= 7:
cost = cost - 50
elif days >= 3:
cost = cost - 20
return cost
def trip_cost(city, days, spending_money):
return rental_car_cost(days) + hotel_cost(days) + plane_ride_cost(city) + spending_money
# You were planning on taking a trip to LA
# for five days with $600 of spending money.
print trip_cost("Los Angeles", 5, 600)
编辑:问题没有解决,但我在另一行这样做:
n=-2734
print abs(-n-1955) #This gives 779
我解决了它,但页面没有说好工作,页面一直说“看起来正确的结果(779)没有打印出来。” 也许页面希望我做另一种方式......?谢谢大家的回答,它适用于另一行,但我认为这种方法不适用于打印函数的行..
编辑2:
我正确地解决了这个问题,答案是:print 2734.23 - trip_cost("Los Angeles", 5, 600)
非常感谢:Blabla404,当然还有其他试图帮助我的人!