Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用函数解决数据分析问题_Python_Function - Fatal编程技术网

Python 如何使用函数解决数据分析问题

Python 如何使用函数解决数据分析问题,python,function,Python,Function,我有一个关于python的基本函数问题 你正在计划度假,你需要决定你想去哪个城市。您已筛选出四个城市,并确定了返程机票成本、每日酒店成本和每周租车成本。租车时,你需要支付整整一周的费用,即使你提前还车 City Return Flight ($) Hotel per day ($) Weekly Car Rental ($) Paris 200 20 200 London 250

我有一个关于python的基本函数问题

你正在计划度假,你需要决定你想去哪个城市。您已筛选出四个城市,并确定了返程机票成本、每日酒店成本和每周租车成本。租车时,你需要支付整整一周的费用,即使你提前还车

City      Return Flight ($) Hotel per day ($)   Weekly Car Rental ($)
Paris        200                      20                   200
London       250                      30                   120
Dubai        370                      15                   80
Mumbai       450                      10                   70 
以下是问题

  • 如果你计划一周的旅行,你应该去哪个城市花费最少的钱
  • 如果您的旅行总预算为1000美元,您应该访问哪个城市以最大限度地延长旅行时间 你的旅行?如果你想缩短时间,你应该去哪个城市
  • 对于问题1,我试着这样解决它

    def vacation_plan(flight,Ht_per_day,car_rent):
        
        total_amount = flight+(Ht_per_day*7)+car_rent
        return total_amount
    
    #lease amount
    paris = vacation_plan(200,20,200)
    London = vacation_plan(250,30,120)
    Dubai = vacation_plan(370,15,80)
    Mumbai = vacation_plan(450,10,70)
    Least_amount = min(paris,London,Dubai,Mumbai)      
    Least_amount
    
    问题2


    我想我可以使用
    min
    max
    函数来获得这个结果,但我确信我的答案

    我能够找到回答上述问题的方法

    对问题1的答复

    一,

    输出:伦敦是人口最少的城市

    对于问题2:

    def vacation_plan(city,flight,Ht_per_day,car_rent):
        
        total_amount = flight+(Ht_per_day*7)+car_rent
        d[city]=total_amount
    d={}
    list1=list2=[]
    vacation_plan("paris",200,20,200)
    vacation_plan("london",250,30,120)
    vacation_plan("dubai",370,15,80)
    vacation_plan("mumbai",450,10,70)
    
    for i in d:
        list1=list1+[i]
        list2=list2+[d[i]]
    print(list1,list2)    
    
    for i in range(0,len(list2)):
        if list2[i]==min(list2):
            print("to maximise duration go to", list1[i])
        elif list2[i]==max(list2):
            print("to minimise duration go to", list1[i])
    
    输出:

    ['paris', 'london', 'dubai', 'mumbai'] [540, 580, 555, 590]
    to maximise duration go to paris
    to minimise duration go to mumbai
            
    
    我将城市名称及其相应金额存储在
    list1
    list2
    中。
    然后使用
    max()
    min()
    函数查找所需的金额和相应的城市。

    您注意到了吗,一周有7天?@Dschoni我注意到,我可以简单地将天数乘以7来更正这一点。是的。现在,最好有一个数据结构来保存您的输入。下一步不是硬编码天数,而是将其作为输入。然后,你可以重复几天的循环等等。现在,你的问题不是编程问题,但你需要理解首先给出的任务。
    ['paris', 'london', 'dubai', 'mumbai'] [540, 580, 555, 590]
    to maximise duration go to paris
    to minimise duration go to mumbai