生成帶面具
回答
您可以使用itertools.product
和字符串格式化:
>>> from itertools import product
>>> strs = "123**7*9"
>>> c = strs.count("*") #count the number of "*"'s
>>> strs = strs.replace("*","{}") #replace '*'s with '{}' for formatting
>>> for x in product("",repeat=c):
... print strs.format(*x) #use `int()` to get an integer
12300709
12300719
12300729
12300739
12300749
12300759
12300769
12300779
12300789
12300799
....
不錯的格式! – 2013-05-08 09:38:15
你也可以像這樣做只使用標準庫:
a = "123**7*9"
a = a.replace("*", "%d")
for x in range(10):
for y in range(10):
for z in range(10):
print a % (x,y,z)
編輯,BOOM:
a = "123**7*9"
c = a.count("*")
a = a.replace("*", "%s")
for x in range(10**c):
print a % tuple(list("%03d" % x))
假設你有完全'3'星號 – jamylak 2013-05-08 09:50:25
權,以及這是我想到了這樣的解決方案的問題... – 2013-05-08 09:58:38
,但它不是那麼好當給出答案:) – user2257564 2013-05-08 10:02:56
遞歸變體:
def combinate(pattern, order=0):
if pattern:
for val in combinate(pattern[:-1], order+1):
last_value = pattern[-1]
if last_value == '*':
for gen in xrange(10):
value = gen * (10**order) + val
yield value
else:
value = int(last_value)*(10**order)+val
yield value
else:
yield 0
for i in combinate('1*1**2'):
print i
- 1. 使用:後CSS生成全屏面具
- 2. iPhone - 具有界面生成器的UIScrollView
- 3. 生成帶參數
- 4. 生成帶的fancybox
- 5. 生成具有np.random
- 6. WADL生成工具
- 7. 生成具有requireNonNull()
- 8. 生成具有wsdl2cpp
- 9. 帶限波形生成
- 10. 如何使用Hibernate工具生成帶註釋的域對象
- 11. 內聯CKEditor帶生成代碼的工具欄
- 12. 是否有完美的代碼生成工具來生成MVC店面?
- 13. 下面的生成
- 14. 從生成面板
- 15. 界面生成器
- 16. 生成HTML頁面
- 17. 使用Rails生成帶有內聯JS和CSS的頁面
- 18. 帶有表面輸入的MediaCodec:生成分塊輸出
- 19. EPiServer vs帶頁面類型生成器的EPiServer
- 20. 帶界面生成器的硬編碼UITableView:有可能嗎?
- 21. 界面生成器帶圖像的UIButton圓角落
- 22. Python - 在頁面生成帶有多個元素的pdf
- 23. 使用abcpdf從帶有highcharts的頁面生成PDF
- 24. D綁定生成工具
- 25. 生成makefile的好工具?
- 26. Hibernate工具生成類aproach
- 27. API文檔生成工具
- 28. 生成Android.mk的工具
- 29. 生成類圖的工具?
- 30. 圖形生成工具
作爲輸出的字符串還是整數? – 2013-05-08 09:41:56