W odróżnieniu od większości języków Python ocenia a<b<c
jak byłoby to zrobić w matematyce, rzeczywiście porównując trzy numery, w przeciwieństwie do porównywania logiczną a<b
do c
. Poprawnym sposobem napisania tego w C (i wielu innych) byłoby a<b && b<c
.
W tym wyzwaniu Twoim zadaniem jest rozwinięcie takich łańcuchów porównawczych o dowolnej długości z Python / intuicyjnej reprezentacji do sposobu, w jaki zostałby napisany w innych językach.
Dane techniczne
- Twój program będzie musiał obsługiwać operatorów:
==, !=, <, >, <=, >=
. - Dane wejściowe będą miały łańcuchy porównania zawierające tylko liczby całkowite.
- Nie martw się o prawdziwość jakichkolwiek porównań po drodze, jest to wyłącznie parsowanie / syntaktyczne wyzwanie.
- Dane wejściowe nie będą zawierały żadnych białych znaków, aby zapobiec odpowiedziom, które trywializują parsowanie przez podział na spacje.
- Jednak dane wyjściowe mogą zawierać pojedynczą przestrzeń otaczającą albo tylko
&&
operatory, albo operatory porównania i operatory&&
, albo żadną, ale być spójne.
Przypadki testowe
Input Output
---------------------------------------------------------------
3<4<5 3<4 && 4<5
3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9
3<5==6<19 3<5 && 5==6 && 6<19
10>=5<7!=20 10>=5 && 5<7 && 7!=20
15==15==15==15==15 15==15 && 15==15 && 15==15 && 15==15
To jest golf-golf, więc wygrywa najkrótszy kod w bajtach !
&&
?