0

我一直在寻找将负数转换为正数的方法,我发现了一些东西但没有用。这是来自在线 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,当然还有其他试图帮助我的人!

4

1 回答 1

2

他们告诉您您已经花费了 2734.23,并询问您超出了理论预算多少 (trip_cost("Los Angeles", 5, 600))。所以最简单的方法就是打印 2734.23 - trip_cost("Los Angeles", 5, 600)。

于 2013-10-17T13:18:13.973 回答