Symbole a litery
Te znaki ASCII zostały podzielone po raz kolejny ! Wasze zestawy to Litery i Symbole .
Listy
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Symbole
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
Zadanie polega na napisaniu dwóch programów:
Wydrukuj każdy z listów dokładnie raz, bez użycia żadnego z nich w swoim programie.
Wydrukuj każdy z symboli dokładnie raz, bez użycia żadnego z nich w swoim programie.
Zasady
- W twoim programie lub wyniku mogą pojawić się białe znaki.
- Znaki spoza ASCII są niedozwolone.
- Dane wyjściowe trafiają do standardowego wyjścia lub do pliku jako zawartość lub nazwa pliku.
- Brak wejścia.
- Dane wyjściowe mogą zawierać tylko znaki ASCII z jednego zestawu lub drugiego.
- Programy mogą być napisane w różnych językach lub w tym samym języku z jednym wyjątkiem:
- Język białe znaki mogą być używane tylko do jednego z programów.
- Obowiązują standardowe luki .
Punktacja
# of characters in program 1
+# of characters in program 2
=Score
Najniższy wynik wygrywa!
Uwaga:
Aby zachęcić do większej liczby zgłoszeń, nadal możesz opublikować odpowiedź zawierającą rozwiązanie dotyczące tylko jednego z programów. Nie będziesz w stanie wygrać, ale nadal będziesz w stanie pochwalić się czymś fajnym.
Podziękowania dla hobby Calvina za zainspirowanie tego pomysłu jego poprzednim pytaniem .
code-golf
restricted-source
hmatt1
źródło
źródło
Odpowiedzi:
Razem: 53 znaki
Łącznie w jednym języku: 230 znaków, Pyth
Część 1: Skrypt golfowy, 15
Wyjścia:
Wyjaśnienie:
Część 2: Pyth , 38
Wyjścia:
Wyjaśnienie:
Rozwiązanie premiowe:
Część 1: Pyth, 192
Wyjaśnienie:
$"%\143"$
=> „% c”.$
przełącza się do i ze stylu analizowania w Pythonie, aw analizowaniu ciągów w Pythonie\143
jest ósemkową sekwencją zmiany znaczeniac
. Ta odpowiedź jest zatem odpowiednikiem następującego kodu w stylu Python:Oczywiście nie działa to w Pythonie, ponieważ drukowanie w Pythonie używa
print
, ale drukowanie w Pythonie jest niejawne, więc działa.Rozwiązania Pyth nie używają żadnej z dodanych funkcji od momentu zadania pytania.
źródło
Python (Symbole,
8782)Po prostu uwielbiam moduł ciągów Pythona ...
Edytować:
Wynik:
FALSE (Letters, 21)DUP (Letters, 20):FAŁSZ rozwiązanie:
DUP sollution (1 char krótszy)
Wyjście (dla obu):
Tłumacz dla FAŁSZ.
Razem: 102
źródło
from string import*
działa równie dobrze i zmniejsza liczbę bajtów.*
jest zabronione w tym kontekście ...from string import punctuation, digits
. Ładne rozwiązanie zgodne z zasadami. Przepraszam za mój błąd!GolfScript (14 znaków) + Deadfish x (116 znaków) = 130 znaków
i
źródło
Części 1 i 2 w Ruby 2, 56 + 484 = 540
Część 1:
Aby uzyskać więcej informacji na temat tego stylu Ruby, zobacz narfnme .
Część 2 (ten bit jest tylko dla Ruby 2.0+, działa doskonale z Ruby-2.1.0, ale może dawać ostrzeżenia we wcześniejszych wersjach):
To było trudne. Wywoływanie wbudowanych metod Fixnum takich jak
chr
isucc
wymaga otwarcia klasy Fixnum i ponownego zdefiniowaniainspect
, ponieważ mogę wywołać wywołanie zax.inspect
pomocąp x
. Muszę sprawdzić, aby wrócić,nil
abyp
wydrukować tylko nowy wiersz, każdy ciąg zostanie otoczony podwójnymi cudzysłowami. Ale jako efekt uboczny pętla. Mogę zakończyć pierwszą pętlę i drugą pętlę, używając porównania ciągów, aby zobaczyć, kiedy osiągnąłem zakres liter, ale ponieważ nie mogę napisać literału ciągu, muszę go uzyskać, wywołującString()
zwrócony symbol (w Ruby 2) wedługdef
słowa kluczowego. Ponieważ jest to składnia wieloliniowa i mogę porównywać ciągi tylko przezcase
, który nie może przyjmować wyrażeń wielowierszowych, muszę zawrzeć literał w metodzie (ponieważ oczywiście nie mogę wykonać przypisania). Ostatnia pętla jest trudniejsza do zakończenia. Muszę to zatrzymać~
. Na szczęście spośród znaków ascii w tym zakresie~
jest to jedyny, który można wywołać na Fixnum bez argumentów bez zgłaszania błędu, dzięki czemu mogęsend chr
wykryć, kiedy jestem na końcu i przestać zapętlać.Nie najlepszy wynik w tym wątku, ale jak dotąd jedyny, który używa tego samego języka dla obu części. Yay Ruby.
źródło
Część 2 w Applescript, 654
czekaj ... gdzie jest strona „ porady dotyczące gry w golfa w Applescript ”?
Wynik:
źródło
CJam + alphabeta , 62 bajtów
Listy, CJam , 12 bajtów
Wypróbuj online!
Wynik
Jak to działa
Symbole, AlphaBeta , 50 bajtów
Wypróbuj online!
Oficjalny interpreter C ++ zawiera błąd, który uniemożliwia tworzenie pętli i nie mogę wymyślić, jak korzystać z interpretera Lua. Naprawiłem ten błąd. Możesz sprawdzić, czy działa zgodnie z przeznaczeniem, uruchamiając przykładowe programy ze strony EsoLang.
Wynik
Jak to działa
źródło
Część 1 w BrainFuck:
8074 bajtówźródło
>
powodu braku wcięcia kodu. Jest to więc cytat.Łącznie 318 bajtów
Naprawdę miałem nadzieję znaleźć odpowiedź na oba programy w tym samym języku, ale jak dotąd nic. Oto to zamiast tego:
Część 1: Pure Bash, 129 bajtów
Wynik:
Część 2: GNU dc, 189 bajtów
Wynik:
źródło
Wiesz, ktoś powinien to zrobić.
Część 1 w BrainFuck: 174 bajty
źródło
Część 1: Rubin, 45 bajtów
Wyjaśnienie
?@...?[
) i Zakres zawierający AZ (?`...?{
) stają się elementami tablicy_
za pomocą operatora splat (*
)."@"
) i 27 element ("`"
) tablicy_
są ustawione nanil
._
jest łączona za pomocąArray#*
i drukowana do stdout ($>
)źródło
*$_
drugim wierszu możesz zastąpićp
(lub[]
).