題目描述
編寫乙個程式,將輸入字串中的字元按如下規則排序。
規則 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).
參考:
whiletrue:
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個分成一組,...