- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个代表年份的列表,其中包含一年中每一天的子列表。
year = []
for i in range(0,52*7):
day = [i,0] #[day number, 0 = empty, 1 = something is planned]
year.append(day)
我还有一个由类(class)创建的可变事件列表。
class Activities:
def __init__(self,name,weeks,weekends):
self.name = name
self.weeks = weeks
self.weekends = weekends
def __repr__(self):
return repr((self.name,self.weeks,self.weekends))
def activityMaker(activityList):
a= []
for i in range(0, len(activityList)):
a.append(Activities(activityList[i][0], activityList[i][1], activityList[i][2]))
a = sorted(a, key=lambda Activities: Activities.weeks)
activityList = a
return activityList
举个例子;
>>> activityList = [['Tennis', 3, 0], ['Baseball', 4, 0], ['Swimming', 2, 0]]
>>>activities= activityMaker(activityList)
返回“事件”,按 Activities.weeks 排序:
>>>activities[0].name
activities[0].week
activities[0].weekend
>>> 'Swimming' # activity name
2 #"i want to do this activity once every x weeks
0 # 0 = no preferance, 1 = not in weekends
现在这是我的困境。我希望创建一种算法,让一年中的事件尽可能有节奏。
我当前的方法无法正常工作。我现在正在做的事情如下。
for y in range(0,len(year), int(7*activities[0].weeks)):
year[y][1] = activities[i].name
现在为每个 y 计划了第一个事件。如果我有两个事件,每个人都想每周计划一次,我可以计划第一个在 0 号、7 号、14 号等,第二个在 3 号、10 号、17 号等。
如果 activities[0] 和 activities[1] 分别为 2 和 3,则说明此方法存在问题。如果我应用以前的方法,activities[0] 将计划在 0 号、14 号、28 号等,这它自己很好。在第 0 和第 14 之间,第 2 个事件最好放在第 7 个位置,这意味着下一次将是第 28 个。然而,28 日的第一项事件已经计划好了。这意味着两周内没有任何计划,然后一天突然有 2 项事件。第二项事件可能会推迟到 27 日或 29 日,但这仍然意味着现在计划在 0 日、7 日、14 日、28 日、29 日开展事件。也就是说,从 14 号到 28 号还有 14 天,然后从 28 号到 29 号只有 1 天。
我可以通过什么方式确保所有事件都按照事件之间的平均时间进行规划?
最佳答案
你的问题是,除非所有事件的周数都相同(所以它们都有相同的节奏,否则会有一些周有很多事件,而另一些周没有。
我的建议是:当您走过一年中的几周时,只需每周随机选择一项(或两项)事件。这样,每周都会有适量的事件计划。下面是一些示例代码:
import random
activities = ["Baseball", "Tennis", "Swimming", ... ]
skip_days = 3
year = {}
for y in range(0, 52*7, skip_days):
year[y] = random.choose(activities)
print year[0]
>>> "Swimming" (perhaps)
print year[15]
>>> "Baseball"
print year[17]
>>> None
如果您想要更多事件,请减小 skip_days。如果你想要更少,就让它更大。如果您想每周进行固定数量的事件,您可以做类似的事情
for y in range(0, 52*7, 7):
year[y] = random.choose(activities)
year[y+3] = random.choose(activities)
这将计划每周两天。
关于python - 尝试创建一个规划算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531363/
我正在创建我的第一个 WAR 文件。我一直在试验 ant buildfile 语法,我的 buildfile 的第一部分从我的 Eclipse 项目中获取内容并将其放入 /dist 文件夹中,然后将其
我是一名学习 SQL 和 PHP 的学生,我接到了一项任务,要使用 PHP 和 mySQLi 创建学生反馈表,我真的一直在思考如何为项目设计数据库! 我正在创建一个系统,用户可以在其中登录网页,如果用
这个问题在这里已经有了答案: Is it possbile to test for expected errors when the testee exits with failure using
我目前正在设计和开发一个 Web 应用程序,该应用程序有可能快速增长。我将提供一些一般信息,然后继续我的问题。我会说我是一名中级网络程序员。 以下是一些规范:MySQL - 数据库后端PHP - 用于
我不知何故无法在我的日志解析器应用程序中实现报告功能。 这是我目前所做的: 我正在编写一个应用程序,它读取日志文件并在字符串中搜索可以在用户配置文件中定义的多个正则表达式。对于从配置中解析的每个所谓的
我有兴趣学习如何在多开发团队场景中设计/规划 Web 应用程序开发。 假设“项目经理/负责人”的角色: 成功的 Web 应用程序开发需要哪些“文档”? 需要什么 UML 图,需要什么程度? 在设计/计
table a (t_a): id name last first email state country 0 sklass klass steve
我们建立了一个广泛使用 JQuery UI 的 AJAX 网站。我们有 30 多个自制的 JQuery UI 小部件(动态加载)。我们到处都使用 JQuery native 小部件:对话框、 slid
我是一名优秀的程序员,十分优秀!