Portál AbcLinuxu, 12. května 2025 10:22

Dotaz: Skript na vytvoreni cas-sensitive kombinaci

11.11.2012 17:58 xmanin00
Skript na vytvoreni cas-sensitive kombinaci
Přečteno: 165×
Odpovědět | Admin
Dobry den, zvladne nekdo vytvorit skript, kteremu se preda nejaky retezec a skript vypise vsechny kombinace daneho retezce w malymi a velkymi pismeny?

Uvedu priklad:
./skript a2Bc5
A2BC5
a2bc5
A2bc5
a2Bc5
a2bC5
A2Bc5
A2bC5
a2BC5
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.11.2012 18:37 l4m4
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano. Pardon, podle paní učitelky máme odpovídat celou větou, takže: Ano, zvládne.

Už je to správné roční období pro zápočtové úlohy?

V závislosti na povolených prostředcích (nespecifikovány) je to snadné, nebo ne tak snadné.

A jak se má tvoje řešení? S čím konkrétně bys u něj potřeboval poradit?
MMMMMMMMM avatar 11.11.2012 18:42 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chybí velmi důležitá informace - v jakém jazyce to má být? :)
Linux Dokumentační Projekt - PDF ke stažení
11.11.2012 18:52 2012
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to klasickej BCD kod (s pismenama), akorat je mezi to obcas vlozeny cislo, ktery se nemeni...
0000
0001
0010
0011
0100
0101
0110
0111
1000
....
11.11.2012 19:09 xmanin00
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neni to skolni uloha, takze je mi uplne jedno v jakem jazyce to bude, preferuji nejaky skriptovaci napr bash nebo python.
11.11.2012 19:18 2012
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
doporucuju ten python, a az to budes mit, tak sem nezapomen dat reseni...
11.11.2012 19:27 xmanin00
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Kdybych to zvladnul sam, tak Vas tu nezadam o pomoc :(
11.11.2012 19:38 2012
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Jsem si jistej, ze to jsi schopnej zvladnout... neni to nic jinyho nez tohle:
aAaAaAaA
22222222
bbAAbbAA
ccccCCCC
55555555
11.11.2012 19:39 l4m4
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Quick'n'dirty. Šlo by to přepsat čistě funcionálně, ale nechávám to coby cvičení pro čtenáře...
#!/usr/bin/python
import sys
s = sys.argv[1]
m = [x for x in enumerate(s) if x[1].isalpha()]
ss = list(s)
for i in range(2**len(m)):
    for j, x in enumerate(m):
        if i & (1 << j):
            ss[x[0]] = x[1].lower()
        else:
            ss[x[0]] = x[1].upper()
    print ''.join(ss)
11.11.2012 20:29 Kit
Rozbalit Rozbalit vše Re: Skript na vytvoreni cas-sensitive kombinaci
Není to sice čistě funkcionálně, ale funguje mi to.
#!/usr/bin/python
import sys
s = sys.argv[1]

def zz(s1,s2):
  if len(s2)==0:
    print s1
  elif s2[0].isalpha():
    zz(s1+s2[0].lower(),s2[1:])
    zz(s1+s2[0].upper(),s2[1:])
  else:
    zz(s1+s2[0],s2[1:])

zz('',s)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.