如何计算排列组合?如何计算一个字符串表达式的值?

Could 2004-10-28 10:14:35
比如说[1, 2, 3, 4, 5],如何把它的搜有元素的排列都列出拉?
还有就是一个表达式“1+2*3/4-5”,如何计算它的值?
...全文
130 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
albertlee 2004-10-28
  • 打赏
  • 举报
回复
关于计算字符串表达式,可以去参看我的《Python的有趣用法》 , 里面有解释字符串执行的例子。
albertlee 2004-10-28
  • 打赏
  • 举报
回复
http://www.luocong.com/bbs/dispbbs.asp?boardID=18&ID=4484&star=2&page=1
albertlee 2004-10-28
  • 打赏
  • 举报
回复
这个程序是原来在 罗聪 的轻描淡写论坛解答一道类似的题目时写的,这个做了精简,可以完成搜索所有的排列组合。


import copy
def Add(dat):
if len(dat) == 1:
return [dat]
else:
alon = []
for i in range(len(dat)):
dat_tmp = copy.deepcopy(dat)
n = dat[i]
dat_tmp.remove(n)
alon_next = Add(dat_tmp)
tmp = copy.deepcopy(alon_next)
alon.extend(tmp)

for j in range(len(alon_next)):
alon_next[j].append(n)

alon.extend(alon_next)
return alon

if __name__=="__main__":
dat = [1,2,3]
for item in Add(dat):
print item

-------------------------------------------------------------
我用 [1,2,3] 作例子 ( [1,2,3,4,5] 的结果太长)

[3]
[3, 2]
[2]
[2, 3]
[3, 1]
[3, 2, 1]
[2, 1]
[2, 3, 1]
[3]
[3, 1]
[1]
[1, 3]
[3, 2]
[3, 1, 2]
[1, 2]
[1, 3, 2]
[2]
[2, 1]
[1]
[1, 2]
[2, 3]
[2, 1, 3]
[1, 3]
[1, 2, 3]
Could 2004-10-28
  • 打赏
  • 举报
回复
补充一下,
我说的是用python怎么实现。
3x。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧