二手产品经理

二手产品经理

THIS IS RENO

操作ファイル - 51日 - オンラインでPythonを学ぶ100日

レコード#

  1. 今日はファイルの読み書き操作を学びました。
  2. 特に配列や辞書をファイルに書き込む場合、str () 関数を使用してそのデータを文字列に変換する必要があります。
  3. その後、読み取る際には eval () 関数を使用して文字列を動的に実行可能なコードに変換する必要があります。
  4. 今日の授業は最初は少し混乱していて、eval () の使用について長い間悩んでいました。今日のコーディングの練習でそのロジックやなぜ str と eval が必要なのかを理解しました。
  5. それでも、ファイルの書き込みと RAM の関係は何ですか?この授業では RAM の使用方法や知識がどこに反映されているのか理解できません。
  6. 今日の練習は 45 のコーディングを改善し、ファイルの書き込みと読み取りの操作を追加するものでした。コードを実行すると最初にエラーが発生し、先生は明日この問題を解決すると言っていました、ハハハ!

CODE#

import os

print("🌟ライフオーガナイザー🌟")
print()
todolist = []
todoinfo = []
f = open("to.do", "r")
todolist = eval(f.read())
f.close


def todoprint():
  for row in todolist:
    for name in row:
      print(f"{name: ^10}", end=" | ")
    print()


select = "again"
while True:
  os.system("clear")
  if select == "again":
    print("メニュー: ")
    print("1: 追加 ")
    print("2: 削除 ")
    print("3: 表示 ")
    print("4: 編集 ")
    menu = input("")
    if menu.strip().lower()[0] == "a":
      task = input("タスクは何ですか? > ")
      due = input("締め切りはいつですか? > ")
      priority = input("優先度は何ですか? > ")
      todoinfo = [task, due, priority]
      todolist.append(todoinfo)
      print("ありがとうございます。このタスクが追加されました。")
      todoprint()
    elif menu.strip().lower()[0] == "r":
      name = input("どれを削除しますか? > ")
      for row in todolist:
        if name in row:
          todolist.remove(row)
          print("ありがとうございます。このタスクが削除されました。")
        else:
          print(f"{name}はtodolistにありません")
    elif menu.strip().lower()[0] == "v":
      todoprint()
    elif menu.strip().lower()[0] == "e":
      name = input("どれを削除しますか? > ")
      for row in todolist:
        if name in row:
          todolist.remove(row)
          print("ありがとうございます。このタスクが削除されました。")
        else:
          print(f"{name}はtodolistにありません")
      task = input("タスクは何ですか? > ")
      due = input("締め切りはいつですか? > ")
      priority = input("優先度は何ですか? > ")
      todoinfo = [task, due, priority]
      todolist.append(todoinfo)
      print("ありがとうございます。このタスクが追加されました。")
      todoprint()

    f = open("to.do", "w")
    f.write(str(todolist))
    f.close()

  elif select == "quit":
    break

  select = input("メニューをもう一度表示しますか?終了しますか? ")

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。