回答編集履歴
2
d
    
        answer	
    CHANGED
    
    | @@ -6,14 +6,13 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            ```python
         | 
| 8 8 | 
             
            from bs4 import BeautifulSoup
         | 
| 9 | 
            -
            from bs4.element import Tag
         | 
| 10 9 |  | 
| 11 10 | 
             
            html = "<b>あいうえお</b><i>かきくけこ<b>さしすせそ</b></i>"
         | 
| 12 | 
            -
             | 
| 13 11 | 
             
            soup = BeautifulSoup(html)
         | 
| 14 12 |  | 
| 15 | 
            -
             | 
| 16 13 | 
             
            def traverse(node, weight):
         | 
| 14 | 
            +
                # b タグまたは i タグが見つかった場合、重みを加算して、
         | 
| 15 | 
            +
                # 名前を現在の重みで置き換える。
         | 
| 17 16 | 
             
                if node.name == "b":
         | 
| 18 17 | 
             
                    weight += 2
         | 
| 19 18 | 
             
                    node.name = str(weight)
         | 
| @@ -21,6 +20,7 @@ | |
| 21 20 | 
             
                    weight += 1
         | 
| 22 21 | 
             
                    node.name = str(weight)
         | 
| 23 22 |  | 
| 23 | 
            +
                # ノードが子を持つ場合
         | 
| 24 24 | 
             
                if hasattr(node, "children"):
         | 
| 25 25 | 
             
                    for child in node.children:
         | 
| 26 26 | 
             
                        traverse(child, weight)
         | 
1
d
    
        answer	
    CHANGED
    
    | @@ -28,5 +28,6 @@ | |
| 28 28 |  | 
| 29 29 | 
             
            traverse(soup, 0)
         | 
| 30 30 | 
             
            print(soup)
         | 
| 31 | 
            -
            # 2>あいうえお</2><1>かきくけこ<3>さしすせそ</3></1>
         | 
| 31 | 
            +
            # <2>あいうえお</2><1>かきくけこ<3>さしすせそ</3></1>
         | 
| 32 | 
            +
            # もし、<> を [] にしたい場合、正規表現による置換などの後処理を行ってください。
         | 
| 32 33 | 
             
            ```
         | 
