Generazione di elenchi di parole con lettere maiuscole e minuscole con crunch

-2

Sono nuovo nel crunch e voglio generare un vocabolario specifico ma ho bisogno del codice appropriato per questo. Prendiamo 478 , 1990 , gmgm e first . Voglio tutte le combinazioni di questi due numeri e due parole senza cambiare l'ordine dei loro personaggi. So che ho bisogno di usare -p, ma voglio che siano considerate anche le maiuscole e minuscole. Come lo posso fare? Ad esempio:

4781990gmgmfirst
4781990Gmgmfirst
4781990gmgMfiRst
gmgm478firsT1990
FIRST1990MGmt478
...

Posso anche fare in modo che crunch generi tutte le combinazioni per ognuna di esse due, poi tutte e tre e poi tutte e tutte? Ad esempio:

4781990
1990478
1990first478
gmgm1990478
firstgmgm1990478
...
    
posta john 19.01.2017 - 20:15
fonte

1 risposta

1

Non sono sicuro che il crunch sia in grado di farlo. Perché non vuoi usare un linguaggio di scripting?

Ecco una soluzione Python:

from itertools import product, permutations


words = ['478', '1990', 'gmgm', 'first']

cases = []
for word in words:
    pr = product(*zip(word, word.upper()))
    cases += [set(map(''.join, pr))]

for perm in permutations(cases):
    for prod in product(*perm):
        print(''.join(prod))
    
risposta data 19.01.2017 - 21:02
fonte

Leggi altre domande sui tag