華為機試26 字串排序

2022-07-18 00:57:14 字數 1291 閱讀 9269

題目描述

編寫乙個程式,將輸入字串中的字元按如下規則排序。

規則 1 :英文本母從 a 到 z 排列,不區分大小寫。

如,輸入: type 輸出: epty

規則 2 :同乙個英文本母的大小寫同時存在時,按照輸入順序排列。

如,輸入: baba 輸出: aabb

規則 3 :非英文本母的其它字元保持原來的位置。

如,輸入: by?e 輸出: be?y

注意有多組測試資料,即輸入有多行,每一行單獨處理(換行符隔開的表示不同行)

輸入描述:

輸入字串

輸出描述:

輸出字串

示例1

輸入

a famous saying: much ado about nothing (2012/8).

輸出

a aaaabc dfgghh: iimm nnn oooos sttuuuy (2012/8).

參考:

while

true:

try:

a =input()

#res是最終返回的字串的列表形式,char是提取的英文本母。

res, char = [false] *len(a),

#經過這個迴圈,把相應的非英文本母及其位置儲存到了res中。並且把英文本母提取出來了。

for i, v in

enumerate(a):

if v.isalpha(): #

檢測字串v是否只由字母組成。

else

: res[i] =v

#使用lambda表示式排序,暴力有效。

char.sort(key=lambda

c: c.lower())

#將char中對應的字元填到res中。

for i, v in

enumerate(res):

ifnot v: #

v為false

res[i] = char[0] #

替換 char.pop(0)

print(""

.join(res))

except

:

break

執行結果: 答案正確:恭喜!您提交的程式通過了所有的測試用例

華為機試訓練4 字串分隔

輸入描述 連續輸入字串 輸入多次,每個字串長度小於100 輸出描述 輸出到長度為8的新字串陣列示例1 輸入描述中有提到輸入多次 rl.on line function input rl.on close function else 多組輸出 res.foreach output console.lo...

華為機試 字串分離

題目描述 通過鍵盤輸入任意乙個字串序列,字串可能包含多個子串,子串以空格分割。請編寫乙個程式,自動分離出各個子串,並使用 將其分離,並且在最後也補充乙個 並將子串儲存。要求實現函式 void dividestring const char pinputstr,long iinputlen,char ...

華為機試 字串分隔

題目 連續輸入字串,請按長度為8拆分每個字串後輸出到新的字串陣列 長度不是8整數倍的字串請在後面補數字0,空字串不處理。輸入描述 連續輸入字串 輸入2次,每個字串長度小於100 輸出描述 輸出到長度為8的新字串陣列 示例1 輸入 abc輸出 abc00000 分析 此題要求我們把字串每8個分成一組,...