W twoim kodzie masz wiele bardzo długich, nudnych wyglądających warunków:
if flag == 1:
while have != needed:
if type == 7:
Można je przekształcić w ich znacznie bardziej urocze <3
odpowiedniki warunkowe:
if abs(flag - 1) + 2 <3:
while 3 - abs(have - needed) <3:
if 2 + abs(type - 7) <3:
Zadanie
Twoim zadaniem jest przyjęcie warunku i uczynienie go pod względem <3
. Jedyne, co się liczy, to to, że nie ma między nimi <
i 3
.
Warunkowe będą dwa wyrazy oddzielone albo ==
, !=
, >
, <
, >=
lub <=
.
Wyrażenia będą zawierały tylko dodawanie, odejmowanie, jednoargumentową negację ( -something
), gdzie występuje jedna +
lub -
przed każdą zmienną lub liczbą (z wyjątkiem pierwszej, która nie ma nic lub -
przed nią).
Liczby będą [0-9]+
, a zmienne będą [a-z]+
. Jeśli odpowiedź wymaga użycia |x|
(wartość bezwzględna x
), użyj abs()
funkcji. Możesz założyć, że wszystkie zmienne są liczbami całkowitymi, a wszystkie stałe liczbowe na wejściu wynoszą <1000.
Dane wyjściowe nie muszą być w najprostszej formie. Musi to być warunek taki jak powyżej, co oznacza, że są to tylko dwa wyrażenia, oddzielone jednym znakiem warunkowym, ale może również używać abs
funkcji, zawierającej prawidłowe wyrażenie, a następnie zachowuje się jak zmienna pod względem ważności.
Jeśli dane wejściowe nie zawierają danych wyjściowych dla żadnej wartości zmiennej, wypisz warunek, który zawsze jest fałszywy, ale nadal pod względem <3
.
Część wyzwania polega na zastanowieniu się, jak to zrobić, ale oto kroki, które należy wykonać w have != needed
powyższym:
have != needed
have - needed != 0
abs(have - needed) > 0
-abs(have - needed) < 0
3 - abs(have - needed) <3
Punktacja
To jest golf golfowy, więc wygrywa najkrótszy prawidłowy kod w bajtach.
Przypadki testowe
(Uwaga: te dane wyjściowe nie są jedynymi, ale starałem się je uprościć).
flag == 1
abs(flag - 1) + 2 <3
have != needed
3 - abs(have - needed) <3
type == 7
2 + abs(type - 7) <3
x > y
3 - x + y <3
x + 5 < -y
x + 8 + y <3
x + 6 <= y
x + 8 - y <3
-x >= y + 3
x + y + 5 <3
x < x
3 <3
# Unsimplified; both would be valid outputs.
x - x + 3 <3