python 1033 舊鍵盤打字 (20 分)

2022-07-20 22:33:28 字數 1483 閱讀 5868

1033 舊鍵盤打字 (20 分)

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文字會是怎樣?

輸入在 2 行中分別給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出;每段文字是不超過 10​5​​ 個字元的串。可用的字元包括字母 [a-z,a-z]、數字0-9、以及下劃線_(代表空格)、,.-+(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。

注意:如果上檔鍵壞掉了,那麼大寫的英文本母無法被打出。

在一行中輸出能夠被打出的結果文字。如果沒有乙個字元能被打出,則輸出空行。

7+ie.

7_this_is_a_test.

_hs_s_a_tst

實現方法一:

1.判斷上檔鍵好壞

壞的?遍歷n,並判斷其中是否存在大小寫,和是否與壞鍵重複,因為這裡的壞鍵的字母輸入被大寫,所以將 m 小寫後再和 n 比較

好的?同樣需要辨別大小寫,遍歷n 判斷是否在m(大寫)和m1(小寫)兩者中存在

實現方法二:

較方法一,**更簡潔,邏輯更好

1.因為壞鍵都是大寫的,所以將每個輸入的字母大寫並賦值給臨時變數s,i不變

將m n判斷,剔除m中的壞鍵字元

再次判斷:上檔鍵沒壞,輸出i,or 輸出不是大寫字母的字元

**部分:

方法一:

m=input()

m1=m.lower()

n=input()

str1=''

if '+' in m1:

for i in n:

if i in m1 or 'a'<=i<='z':

continue

else:

str1+=i

else:

for i in n:

if i not in m and i not in m1:     # i 中的內容大小寫並存,a 和a是不同的,所以如果字串 n 中同時存在一種字元的大小寫,那就需要判斷

str1+=i

print(str1)

方法二:

m=input()

n=input()

str1=''

for i in n:

if i>='a' and i<='z':

s=i.upper()

else:

s=iif s not in m:

if '+' not in m or (i<'a' or i>'z'):

str1+=i

print(str1)

1033 舊鍵盤打字

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a z,a ...

1033 舊鍵盤打字

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉...

1033 舊鍵盤打字

原題描述 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a...