Caso clássico de programação em Python [perguntas do exame] permutação e combinação

Este artigo explora casos clássicos de programação Python com você, permitindo que você aprenda Python de forma imersiva. Você pode pensar sobre o tópico primeiro e, em seguida, compará-lo com os métodos de solução de problemas deste artigo. Se você tiver opiniões diferentes, seja bem-vindo para discutir comigo na conta oficial.

1. Caso clássico [pergunta de exame]

  
pergunta:

1到ipt_num(3)能组成多少个互不相同且不重复的三位数字数组?

digitar:

3

saída:

13 能组成 6 种互不相同且不重复的三位数
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]

  
  

2. Método clássico de solução de problemas de caso

  
A solução para o problema no caso acima é a seguinte:
  
Passo 1: Use três camadas de loops for para listar todos os números possíveis entre 1 e ipt_num.
  
Passo 2: Se os três números forem diferentes entre si, adicione-os à lista de resultados.
  
O código específico é o seguinte:

def ord_pl(ipt_num):
    num = ipt_num + 1
    all_num = list()
    for i in range(1, num):
        for j in range(1, num):
            for k in range(1, num):
                if i!=j and i!=k and j!=k:
                    all_num.append([i, j, k])
    print(1, '到', ipt_num, '能组成', len(all_num), '种互不相同且不重复的三位数')
    return all_num
ord_pl(4) 

for i in range(1, num): gera uma progressão aritmética de 1 a ipt_num com um tamanho de passo de 1.
  
i!=j e i!=k e j!=k: Determine se i, j ek são diferentes um do outro e retorne True se forem diferentes, caso contrário, retorne False.
  
obteve a resposta:

14 能组成 24 种互不相同且不重复的三位数
[[1, 2, 3],
 [1, 2, 4],
 [1, 3, 2],
 [1, 3, 4],
 [1, 4, 2],
 [1, 4, 3],
 [2, 1, 3],
 [2, 1, 4],
 [2, 3, 1],
 [2, 3, 4],
 [2, 4, 1],
 [2, 4, 3],
 [3, 1, 2],
 [3, 1, 4],
 [3, 2, 1],
 [3, 2, 4],
 [3, 4, 1],
 [3, 4, 2],
 [4, 1, 2],
 [4, 1, 3],
 [4, 2, 1],
 [4, 2, 3],
 [4, 3, 1],
 [4, 3, 2]]

Você pode verificar manualmente se o resultado está correto. A vantagem desse método é que a lógica é simples e mais clara de entender. Até agora, o caso clássico de programação em Python [perguntas do exame] permutação e combinação foi explicado.
  
Se você quiser saber mais sobre funções em Python, pode ler artigos relacionados no módulo "Aprendendo Python" na conta oficial.
  
Você pode estar interessado em:
Desenhe Pikachu com Python
Desenhe um mapa de nuvem de palavras
com Python Desenhe 520 batimentos cardíacos eternos com Python Reconhecimento facial Python - você é
em meus olhos
o único Use a biblioteca py2neo em Python para operar o neo4j e construa um mapa de relacionamento Coleção de código-fonte de confissão romântica em Python (amor, rosa, parede de fotos, confissão sob as estrelas)


Acho que você gosta

Origin blog.csdn.net/qq_32532663/article/details/127950186
Recomendado
Clasificación