Foros Python
Combinación sin repetir usando for - Versión para impresión

+- Foros Python (https://foro.recursospython.com)
+-- Foro: Desarrollo (https://foro.recursospython.com/forumdisplay.php?fid=1)
+--- Foro: General (https://foro.recursospython.com/forumdisplay.php?fid=9)
+--- Tema: Combinación sin repetir usando for (/showthread.php?tid=630)



Combinación sin repetir usando for - Valencia729 - 03-05-2020

Buenas tardes quisiera ayuda con el siguiente ejercicio.

Debo hacer un código que imprima las posibles combinaciones de letras a,b,c,d,e,f en grupos de 3 sin repetir letras.

 Así lo estoy trabajando,  pero me repite letras

Gracias
Código:
def combina(lista):
    res = []
    for uno in lista:
        for dos in lista:
            for tres in lista:
                res.append(uno+dos+tres)
    return res
c=combina(['A', 'B', 'C','D','E','F'])
print(c)



RE: Combinación sin repetir usando for - Francisco - 03-05-2020

Hola. Podrías agregar algunos chequeos para omitir las letras repetidas:

  1. def combina(lista):
  2. res = []
  3. for uno in lista:
  4. for dos in lista:
  5. if dos == uno:
  6. continue
  7. for tres in lista:
  8. if tres == dos or tres == uno:
  9. continue
  10. res.append(uno+dos+tres)


Saludos