8ページめです。
新たにカテゴリーを追加したり、カテゴリーやURLを削除する処理を追加していきましょう!
カテゴリーやURLの追加や削除の関数
以下に、与えられたコードにカテゴリーを追加する関数と、カテゴリーやURLを削除する処理を追加したコードを示します。
import json
def add_category(bookmark_dict, category, url):
if category in bookmark_dict:
bookmark_dict[category].append(url)
else:
bookmark_dict[category] = [url]
def remove_category(bookmark_dict, category):
if category in bookmark_dict:
del bookmark_dict[category]
def remove_url(bookmark_dict, url):
for category in bookmark_dict:
if url in bookmark_dict[category]:
bookmark_dict[category].remove(url)
add_category 関数の説明
add_category
関数は、既存のブックマーク辞書に与えられたカテゴリーとURLを追加します。
- カテゴリーが存在する場合は、そのカテゴリーのリストにURLを追加
- 存在しない場合は、新しいカテゴリーを作成し、そのカテゴリーのリストにURLを追加
remove_category関数の説明
remove_category
関数は、既存のブックマーク辞書から与えられたカテゴリーを削除します。
- カテゴリーが存在する場合は、そのカテゴリーを辞書から削除
remove_url関数の説明
remove_url
関数は、既存のブックマーク辞書から与えられたURLを削除します。
- URLが存在する場合は、そのURLを含むカテゴリーのリストからURLを削除
関数を操作する例
以下に、上記の関数を使用してブックマークを操作する例を示します。
# ブックマーク辞書を初期化
bookmark_dict = {}
# ブックマークを追加
add_category(bookmark_dict, "ニュース", "https://www.bbc.com")
add_category(bookmark_dict, "ニュース", "https://www.cnn.com")
add_category(bookmark_dict, "スポーツ", "https://www.nba.com")
add_category(bookmark_dict, "エンタメ", "https://www.imdb.com")
# ブックマークを表示
print(json.dumps(bookmark_dict, indent=2))
# カテゴリーを削除
remove_category(bookmark_dict, "スポーツ")
# URLを削除
remove_url(bookmark_dict, "https://www.bbc.com")
# ブックマークを表示
print(json.dumps(bookmark_dict, indent=2))
上記の例では、最初にブックマーク辞書を初期化し、add_category
関数を使用してブックマークを追加し、json.dumps
を使用してブックマークを表示しています。
次に、remove_category
関数を使用してスポーツカテゴリーを削除し、remove_url
関数を使用してBBCニュースのURLを削除します。
最後に、json.dumps
を使用して更新されたブックマークを再度表示しています。
ここからは・・・
はい、いつもなら、全体のコードを掲載するのですが、それではコピペで動かしてしまって、学習効果が望めないと思い、全コード掲載はやめました。
手順としては、
- 関数と操作例を元に、入力値をコード内にべた書きして動かしてみる
- 必要なボタンやラベルやEntryなどを追加して、外部入力に置き換えてみる
- 動作確認して完成させる
といったステップで完成させてみてください。
エラーやわからないことがあったら調べて解決するということも必要なスキルです。
あきらめないで、チャレンジしてみてくださいね。
陰ながら応援しています。
まとめ
8ページにも及ぶ記事を書くのは初めてでしたが、やっと一区切りついて書き終えることができました。
これでこの記事は終了です。
ここまでお読みくださってありがとうございました。
また次の記事でお会いできるのを楽しみにしております。
Python でGUIアプリケーションを作成します PythonでGUIアプリをEXE形式で納品します
コメント