-1
"スケジュール"を作成しようとしています。これは私がそれを行う方法です(下のコード)。この場合 "day_of_the_week [1]"は、次のようになります。火曜日に相当する。この行は、あなただけのただ一つの要素が追加されPython:タスクリストの管理
schedule.add_day()
との最初の要素を定義し、「範囲外のリストインデックス」
class Task(object):
def __init__(self,name,start,end):
self.name = name
self.start = start
self.end = end
class Day(object):
time_available = []
check_time = []
def __init__(self):
self.tasks = []
for i in range(24):
self.time_available.append(i)
def add_task(self,name,start,end):
for i in range(start, end + 1, 1):
self.check_time.append(i)
if set(self.check_time).issubset(self.time_available):
# check if timeslot is available
for i in range(start, end + 1, 1):
self.time_available.remove(i)
del self.check_time[:]
self.tasks.append(Task(name, start, end))
print "TRUE"
return True
else:
del self.check_time[:]
print "FALSE"
return False
#check if task can be added
class Schedule(object):
def __init__(self):
self.day_of_the_week = []
def add_day(self):
self.day_of_the_week.append(Day())
schedule = Schedule()
schedule.add_day()
schedule.add_day()
schedule.day_of_the_week[0].add_task("swimming", 11, 13)
schedule.day_of_the_week[0].add_task("swimming", 14, 17)
schedule.day_of_the_week[0].add_task("swimming", 10, 12)
schedule.day_of_the_week[1].add_task("swimming", 10, 12)
schedule.day_of_the_week[1].add_task("swimming", 10, 13)
スケジュールに追加していない日にタスクを追加しようとしています。 – user2357112
私は「もっと曜日を追加する」と私は、「time_available」がリセットされるように見えることがわかった。私は日[0]に特定のスロットで時間があるかどうかをチェックしていました。現在のように、3番目の水泳タスクは挿入されませんでした。しかし、一度追加すると、それは挿入されます。私の変数は "Day"で正しく宣言されていますか? – algoBaller
彼らは正しく見えません。 'time_available'と' check_time'は何らかの理由でインスタンス変数の代わりにクラス変数として宣言されています。 – user2357112