为了账号安全,请及时绑定邮箱和手机立即绑定

请问全排列要怎么排列

s1 = 'ABC'

s2 = '123'

s3 = 'xyz'

result = ''

for a in s1:

    for b in s2:

        for c in s3:

            print(a+b+c)

之后要怎么继续排列,才能得到全排列?

如果继续print(a+c+b)把六种方式都列出来感觉有点赘余,假如要列的不止三个字符长度而是n个,要怎么写简便的代码?

正在回答

6 回答

# Enter a code

s1 = 'ABC'

s2 = '123'

s3 = 'xyz'

for i in s1:

    for j in s2:

        for k in s3:

            print(i + j + k)

            print(i + k + j)

            print(j + k + i)

            print(j + i + k)

            print(k + j + i)

            print(k + i + j)


1 回复 有任何疑惑可以回复我~

# Enter a code

#coding=UTF-8

import itertools  

        

s1='ABC'

s2='123'

s3='xyz'

count = 0

for x in s1:

    for y in s2:

        for z in s3:

            for i in itertools.permutations([x,y,z],3):

                print(i)


0 回复 有任何疑惑可以回复我~
#1

Cassie7J

用python内置的全排列函数哈哈哈哈,内部原理好难写
2021-06-10 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//60a478760001034d02920158.jpg酱?虽然很弱智但是好歹是个办法

0 回复 有任何疑惑可以回复我~
#1

weixin_慕移动9092668

多了一些重复使用的结果比如AAA之类的
2022-06-28 回复 有任何疑惑可以回复我~

如果按你的思路的话 我想不出

如果实现目的的话 你可以试试这样 看看对不对

s1 = 'ABC'
s2 = '123'
s3 = 'xyz'
s = s1 + s2 + s3
count = 0
for a in s:
    for b in s:
        for c in s:
            if (a != b and b != c and a != c ):
                print(a+b+c)
                count+=1
print(count)
print(9*8*7)


1 回复 有任何疑惑可以回复我~
#1

半勺暖阳 提问者

懂了,谢谢!
2021-04-06 回复 有任何疑惑可以回复我~
#2

万象天心 回复 半勺暖阳 提问者

可以的话 采纳一下
2021-04-06 回复 有任何疑惑可以回复我~
#3

Cassie7J

不知道最终的结果应不应该包括ABC这种字符串,如果包括了ABC 123 xyz,从某种程度来说又好像不是全排列
2021-06-10 回复 有任何疑惑可以回复我~
#4

寂寞高手

这个count+=1是啥意思啊,+=是啥
2023-01-08 回复 有任何疑惑可以回复我~
查看1条回复

A1x

A1y

A1z

A2x

A2y

A2z

A3x

A3y

A3z

B1x

B1y

B1z

B2x

B2y

B2z

B3x

B3y

B3z

C1x

C1y

C1z

C2x

C2y

C2z

C3x

C3y

C3z

这个不行吗

0 回复 有任何疑惑可以回复我~
#1

半勺暖阳 提问者

还有Ax1,1Ax,1xA,xA1,x1A……等等呢,全排列有9*8*7种方式
2021-04-05 回复 有任何疑惑可以回复我~

你想要什么样的全排列

0 回复 有任何疑惑可以回复我~
#1

半勺暖阳 提问者

字符串s1='ABC',字符串s2='123',字符串s3='xyz',请输出s1、s2、s3中所有字符的排列。这个是题目
2021-04-05 回复 有任何疑惑可以回复我~
#2

半勺暖阳 提问者

就所有字符的全排列,全部列出来
2021-04-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问全排列要怎么排列

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信