【问题标题】:Writing program to choose values from a list of integers编写程序从整数列表中选择值
【发布时间】:2014-03-13 01:02:03
【问题描述】:

我有一个整数列表,代表市中心大街沿线的 n 个企业(商店)的年利润(以千欧元计)。我有 4(四)家企业(“免费”),彼此相邻。问题是计算我应该采取哪个 4 来最大化我的年利润。 给定这些数字,编写一个 PYTHON 程序来计算我应该取哪个 4。例如: 如果利润是 52、67、-8、43、-20,我应该选择前 4 家企业。 如果利润是 -20, 36, -10, -30, 3, 21 我不会做生意(这也是允许的)

我不擅长编程,因此我们将不胜感激,干杯!

初步尝试:

mylist=[52,67,-8,-43,-20]
>>> m=0
>>> for i in range(len(mylist)):
if m<mylist[i]:
    m=mylist[i]    

我不确定最后一行,所以我也尝试了这个,但它不起作用?: 如果 mylist[i]>m: 打印我的列表[i]

【问题讨论】:

  • 请发布您的初步尝试
  • 虽然问关于作业的问题并没有完全不被接受,但为你做作业却是。如果你想试一试,然后在这里发布问题,你会得到很多帮助。
  • 这个问题似乎是题外话,因为它是一个家庭作业问题,没有任何努力。
  • 这类问题适合初学者解决。即使您不太了解,您仍然可以使用非常简单的蛮力解决方案,即检查每个连续的四个集合,同时记住最大的一个。
  • 您所做的所有尝试都是在列表中找到最大的元素。从用英语描述您的解决方案开始可能会对您有所帮助 - 看起来编程不是这里的问题,您只是不知道如何从逻辑上找到解决方案。

标签: python list integer maximize


【解决方案1】:
  1. 将您的利润列表分成相邻的 4 组

    groups = zip(mylist,mylist[1:],mylist[2:],mylist[3:]) #there are many ways of doing this i picked this way
    
  2. 选择总和最大的组

    print "I want :",max_sum(groups) #i will leave the implementation of this up to you
    

【讨论】:

    猜你喜欢
    • 2019-10-28
    • 2019-10-17
    • 1970-01-01
    • 2022-11-29
    • 2021-10-13
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    相关资源
    最近更新 更多