まあ、これは私がすぐに投げた例があるがないごめんなさい
def schedule():
flag = False
with open("example.txt", 'r') as f:
for line in f:
if len(line.strip()) == 0:
flag = True
elif flag:
# somehow use the day of the week to
# become the dictionary key
flag = False
else:
# somehow use the rest of the block of text as the value
は、明らかにコードを向上させることができ、それはキーで辞書を作成し、毎日、スケジュール内の各タスクのリストがあります。
def schedule():
flag = False
schedule = dict()
days_of_week = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday",
"Saturday", "Sunday"]
with open("example.txt", 'r') as f:
for line in f:
line_items = line.split()
if line_items and line_items[0] in days_of_week:
schedule[line_items[0]] = list()
current_day = line_items[0]
else:
if line_items and current_day:
schedule[current_day].append(line_items)
return schedule
これはにつながる:
{'Sunday': [['10:00', '-', '10:30', 'Debrief'], ['10:30', '-', '13:00', 'Track', 'running'], ['13:00', '-', '14:00', 'Lunch'], ['14:00', '-', '18:00', 'Track', 'running'], ['18:00', 'End']], 'Friday': [['10:00', '-', '10:30', 'Debrief'], ['10:30', '-', '13:00', 'Track', 'running'], ['13:00', '-', '14:00', 'Lunch'], ['14:00', '-', '18:00', 'Track', 'running'], ['18:00', 'End']], 'Saturday': [['10:00', '-', '10:30', 'Debrief'], ['10:30', '-', '13:00', 'Track', 'running'], ['13:00', '-', '14:00', 'Lunch'], ['14:00', '-', '18:00', 'Track', 'running'], ['18:00', 'End']]}
残念ながら、リストが範囲外である場合、これを動作させることはできません – iFunction
Hmm?それは興味深い。私はAtomの新しい.pyファイルに上記のコードをコピーして貼り付けました。オープン関数が正しいファイルの場所を指していて、それを正常に実行したことを確認しました。 '{'金曜日:'10:00-10:30デブリーフィング\ n10:30-13:00トラックの実行\ n13:00-14:00ランチ\ n14:00-18:00トラック\ n18:00終了\ n '、'土曜日 ':'10:00-10:30 Debrief \ n10:30-13:00トラックの走行\ n13:00-14:00ランチ\ n14:00-18: 00 Track running \ n18:00' 文字の制限のために出力を短くしましたが、あなたはその考えを得ています。 –
'リストが範囲外です'は、空のリストからforループを実行しようとしているときに発生します。上記のコードをコピーして貼り付けたり、少し修正したりしていますか?私がコードを見ることができれば、私はトラブルシューティングを助けることができます。 –