假設我有一個輸入字串 str 并且我想在每個回圈中將它的值增加 1 位,所以 'a'->'b' & 'm'->'n',當它到達 'z' 時,它會增加,如圖所示在下面的例子中。
str= "aaaaa"
output= "aaaab"
str="aaaaz"
output="aaaba"
str ="kbzzz"
output="kcaaa"
我希望你能明白,它有點像汽車的里程表。如何實作這個功能?
uj5u.com熱心網友回復:
一個簡單的方法(使用for-else 回圈):
def increment(s):
for i in range(len(s)-1, -1, -1):
if s[i] != "z":
break
else:
return "a" * (len(s) 1)
return s[:i] chr(ord(s[i]) 1) "a" * (len(s) - i - 1)
>>> increment("aaaaa")
'aaaab'
>>> increment("aaaab")
'aaaac'
>>> increment("aazz")
'abaa'
- 從后面穿過繩子
- 在第一個非“z”處停止
- 如果沒有找到非“z”,則回傳所有“a”(增加長度)
- 否則增加非“z”并將后綴重置為所有“a”
一些檔案:
- 否則
chrord
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/346722.html
上一篇:在字母表中列印未使用的字符
下一篇:基于字串顯示影像
