Skip to content
This repository was archived by the owner on Mar 14, 2022. It is now read-only.

[Homework 4] 文句處理 #374

@joyshiang

Description

@joyshiang

提交連結

https://judge.ccclub.io/status/fb9ebc040faeda02efa59f621ef2881b

程式碼

keyword_lst = input().split()
def length(s):
    return(len(s))
keyword_lst1 = sorted(keyword_lst, reverse=True, key=length)
keyword_lst2 = ['「{}」'.format(i) for i in keyword_lst1]#將關鍵字加上引號
keyword_lst3 = []#將關鍵字中的關鍵字也加上括號
for key2 in keyword_lst2:
    for key1 in keyword_lst1:
        if key2.find(key1) != -1: # key2內有找到key1
            if key2 != '「' + key1 + '」':
                a = '「' + key1 + '」'
                b = key2.replace(key1, a)
                keyword_lst3.append(b)
                break
        else:
            keyword_lst3.append(key2)
            break

sentence_lst = []
while True: #不定行處理end
    sentence = input()
    if sentence == "end":
        break
    sentence_lst.append(sentence)

for s in sentence_lst:# 替換關鍵字
    for key1, key2 in zip(keyword_lst1, keyword_lst2):
        s = s.replace(key1, key2)
        for key2, key3 in zip(keyword_lst2, keyword_lst3):
            s = s.replace(key3, key2)
    print(s)

錯誤訊息

問題描述

嘗試檢查每個list,發現keyword_lst3跑測資三的時候是['「郭「婞淳」」', '「婞淳」', '「金牌」'],結果也是對的。但跑測資一時keyword_lst3卻是這樣:['「apple」', '「cute」', '「app」'],最後結果是:
I have an 「「app」le」
you are so 「cute」

想不太到位甚麼結果會變成這樣,還是說中文英文的邏輯不一樣?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions