Büyük ve küçük harflerin her permütasyonunu üretebildiğiniz zaman, olayları duyarsızca kim karşılaştırabilir? Hiç kimse! Cevap bu. Kimse yapmaz. Görevin bu başarıya ulaşmak; Verilen bir giriş için olası tüm büyük harf / küçük harf izinlerini oluşturur.
Giriş
Yazdırılabilir standart ascii karakterleri dizesi. Girişin tümünün küçük harf olduğu varsayılmamalıdır. Giriş her zaman en az bir karakter olacaktır.
Çıktı
Girilen dize için her büyük ve küçük harf permütasyonu (kopya yok). Bu sadece küçük ve büyük versiyonlu karakterleri değiştirmelidir (sayılar aynı kalacaktır). Her permütasyon bir karakter dizisi veya bir karakter listesi olarak çıkarılmalıdır; tekil dizelerin listelerine izin verilmiyor.
Örnekler
a1a
['a1a', 'a1A', 'A1a', 'A1A']
abc
['abc', 'abC', 'aBc', 'aBC', 'Abc', 'AbC', 'ABc', 'ABC']
Hi!
['hi!', 'hI!', 'Hi!', 'HI!']
puanlama
Bu kod-golf , bu yüzden en kısa cevap (bayt cinsinden) kazanır.
Eğlenceli bir ekstra olarak, genişletilmiş ascii karakterlerini kullanmak için ne kadar çaba sarf edileceğini görün, işte ekstra bir test durumu:
ž1a -> ['ž1a', 'ž1A', 'Ž1a', 'Ž1A']
(programınızın bunu desteklemesi gerekmez)
Hi!
verilseydi {('H', 'i', '!'), ('h', 'I', '!'), ('h', 'i', '!'), ('H', 'I', '!')}
, bu kabul edilebilir mi?
Σ
, bir kelimenin başında büyük σ
harfli sürüm, başında veya ortasında ς
küçük harfli sürüm, ancak kelimenin sonunda değil küçük harfli sürümdür.
Σ
→['Σ', 'σ', 'ς']