Python |在计算操作的函数内将负数转换为正数?

时间:2013-10-17 13:08:41

标签: python

我一直在寻找将负数转换为正数,我发现了一些东西但没有效果.. 这是一个来自在线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)。” 也许页面要我做另一种方式......? 谢谢大家的答案,它适用于另一条线,但我认为这种方法不适用于印刷函数的行..

EDIT2:

我正确地解决了问题,答案是:print 2734.23 - trip_cost("Los Angeles", 5, 600) 非常感谢你:Blabla404当然还有那些善意帮助我的人!

1 个答案:

答案 0 :(得分:2)

他们告诉你,你花了2734.23,并询问你的理论预算超过了多少(trip_cost(“洛杉矶”,5,600))。所以最简单的方法就是打印2734.23 - trip_cost(“洛杉矶”,5,600)。