1樓:BHznJNs
x_str
='11x321xx7x346'
x_str
='11x321xx7x346'
# x_str = '1x2x3x4x5x6x7x8x9x0'
x_num
=x_str
.count
('x'
)result=
fora
inrange(10
**x_num):
number
=str(a
).zfill
(x_num
)x_string
=x_str
.replace
('x','-
{}-'
.format
(number[0
]),1
)forbin
range
(x_num-1
):x_string
=x_string
.replace
('x','-
{}-'
.format
(number[b
+1]),1
)result.(
x_string
(result
)@grass 修改完成,效果如下圖,理論上x的位置和數量不固定都ok,並且可以用符號標註出x原來的位置
另外,我用『11x22x33x44x55x66』文字進行測試,效果如下:
分割線如果題主對程式執行速度和效能有要求的話,可以試試下面的生成器寫法
'''有四個引數,第乙個是所要轉換的字元,
第二個是要轉換的字母(預設是'x'),
第三個和第四個是字母兩旁的分隔符
'''def replace_(x_str, x='x', from_='(', to_=')') :
x_num = x_str.count(xfor a in range(10**x_numnumber = str(a).zfill(x_numx_string = x_str.
replace('x', '{}{}{}'.format(from_, number[0], to_), 1for b in range(x_num-1x_string = x_string.replace('x', '{}{}{}'.
format(from_, number[b+1], to_), 1yield x_string
# 以下為使用的例子
for x in replace_('11x321xx7x346') :
print(x)
2樓:
import math
a='11x321xx7x346'
#統計X個數
x_num = a.count("x")
#計算最大可能數
max_num = int(math.pow(10,x_num))#由上自下生成填充字串 '10000','09999',自動填充0while max_num>0:
#獲取當前填充字串'10000'
cstr = str(max_num)
#獲取當前填充字串長度
clen = len(cstr)
#計算要補0的個數
dis = x_num - clen
while dis>0cstr='0'+cstrdis-=1
#補0p = ''
#檢測原始字串,從生成字串裡依次替換
for c in aif c=='x'p=p+cstr[0cstr=cstr[1elsep+=c
print(p)
max_num-=1
時間趕,隨便寫下,沒優化,沒效能,有空再過來改改
如何把一串字串 decode 成乙個數字, 同時這個數字可以還原會字串
fyth s Hello,world i int s.encode hex 16 i 5735816763073854953388147237921L hex i 2 1 decode hex Hello,world 題主是想這樣麼? 已重置 這要看你怎麼encode了。如果按照ASCII標準的話,...
Python 中為何沒有數字到字串的自動轉換?
小咩2021 數字加字串,你想要啥結果?舉例 這兩種都說得過去吧 abc def 1 198 200 202 字元陣列自動轉換為ascii碼數字,數字不變,然後進行加法運算,matlab中的定義 abc def 1 abcdef1 數字轉文字,字串不變,然後進行合併運算,你給的定義 abc def ...
假如有一天,你突然能在別人頭頂看見一串數字,還在不停地倒計時,你第一反應會覺得這是什麼?
三更無眠 你們都以為是剩餘壽命?你們太無趣了。那串倒計時,是你和你的命中註定相遇的倒計時。有人的數字極大,所以他終其一生都在苦苦尋找,有人的數字極小,所以他能從校服到婚紗。看,那個人的數字變成0了,哎呀,你撞我了,連聲道歉都沒有嗎?一女子生氣的他旁邊的男子說到。男子漲紅了臉,說不出一句話。女子忽然笑...