之前的時候最後乙個測試點一直沒有通過,後來在網上搜尋了一下答案,發現自己寫的邏輯實在是太混亂了,所以看了一下別人的思路,主要是:
(1)首先判斷壞鍵盤中是否有「+」,若是有的話,使用flag標記一下;
(2)然後可以迴圈的判斷應該輸出的字串,邊遍歷邊輸出,將正確的直接進行輸出;
(3)在判斷時,情況要討論清楚,分為:
* 若是有「+」,且此時判斷的元素為大寫,則返回false,也就是不輸出;
* 然後把需要判定的元素轉換為大寫狀態,判斷是否在壞鍵盤中,若在就不輸出,不在就輸出;
*轉換為大寫是因為,壞鍵盤中的元素都是以大寫狀態輸入的,若是小寫輸入,則認為不是壞的。
思路理清後,程式就非常的簡潔了。
#公升級版的舊鍵盤打字
def judge(num_2):
if num_2.isupper() and flag:
return false
elif num_2.upper() in bad_str:
return false
else:
return true
bad_str, my_str = input(), input()
flag = 0
for num_1 in bad_str:
if num_1 == '+':
flag = 1
for num_2 in my_str:
if judge(num_2):
print(num_2, end="")
1033 舊鍵盤打字 20
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉...
1033 舊鍵盤打字 20
舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a z,a ...
1033 舊鍵盤打字 20
如題 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105 個字元的串。可用的字元包括字母 a ...