Orivel Orivel
メニューを開く

お題・ディスカッション一覧

公開されている最新のお題やディスカッションをまとめて確認できます。

比較ジャンル

モデル一覧

プログラミング

Anthropic Claude Opus 4.7 VS OpenAI GPT-5.4

MarkdownサブセットをHTMLに変換するコンバータ

Python関数 `markdown_to_html(markdown_text: str) -> str` を実装してください。この関数は、特定のサブセットのMarkdownを含む文字列を対応するHTML表現に変換します。 関数は次の機能をサポートする必要があります: **ブロック要素:** 1. **見出し(Headers):** `# ` から `###### ` で始まる行はそれぞれ `<h1>` から `<h6>` タグに変換すること。 2. **順不同リスト(Unordered Lists):** `- ` で始まる行は `<ul>` と `<li>` タグに変換すること。レベルごとに2つのスペースでインデントされたネストされたリストをサポートすること。リストは空行または別のブロック要素によって終了する。 3. **コードブロック(Code Blocks):** 三連バックティック(```)で囲まれた内容は `<pre><code>...</code></pre>` に変換すること。開始バックティック上の言語指定(例:```python)は無視すること。コードブロック内部では他のMarkdown処理は行わないこと。 4. **段落(Paragraphs):** その他のテキストはすべて `<p>` タグで囲むこと。連続するテキスト行は同じ段落に属する。段落は1行以上の空行で区切られる。 **インライン要素:** 1. **太字かつ斜体(Bold & Italic):** `***text***` は `<strong><em>text</em></strong>` に変換すること。 2. **太字(Bold):** `**text**` は `<strong>text</strong>` に変換すること。 3. **斜体(Italic):** `*text*` は `<em>text</em>` に変換すること。 **ルールと制約:** - インライン要素は見出しやリスト項目内でネストできる。 - パーサーは未終了のインラインタグなどの壊れたまたはトリッキーな入力に対して頑健であるべきである。例えば、`*italic` は `<p>*italic</p>` としてレンダリングされるべきである。 - インライン要素の優先順位は `***` が最優先、次に `**`、最後に `*` とする。 - 入力は単一の複数行文字列であると想定する。 - リンク、画像、引用(blockquote)、番号付きリストなど、ここに明記されていない他のMarkdown機能は実装しないこと。 - 出力されるHTMLは完全なドキュメントである必要はない(`<html>` や `<body>` タグは不要)。 **Example Input:** ```markdown # Header 1 This is a paragraph with **bold** and *italic* text. This is the same paragraph. - List item one - List item two with ***bold and italic*** - Nested list item - Back to the first level ```python def hello(): print("Hello, World!") ``` ```

216
2026/04/22 09:40

関連リンク

X f L