每天一習題,提升Python不是問題!!有更簡潔的寫法請評論告知我!
https://www.cnblogs.com/poloyy/category/1676599.html
題目
寫一個函數replace,該函數參數是兩個字符串, 第一個參數給出一個源, 第二個參數是指定范圍。 要求該函數將 第一個參數里面的字符串中 落在第二個參數指定范圍內的字符串替換為 # 號 比如 replace("abcdef", "c-e") ➞ "ab###f" replace("rattle", "r-z") ➞ "#a##le" replace("microscopic", "i-i") ➞ "m#croscop#c" replace("", "a-z") ➞ ""
解題思路
- 先將指定范圍的字母提取出來
- Python里面,字符是可以直接比較大小的
- 通過直接比較,將在指定范圍的字符 replace 成 #
答案
def replace(strs, round): start, end = round.split("-") for i in strs: if i >= start and i <= end: strs = strs.replace(i, "#") print(strs) replace("abcdef", "c-e") replace("rattle", "r-z") replace("microscopic", "i-i") replace("", "a-z")