Wyzwanie jest proste:
Utwórz wykres kołowy na podstawie szeregu wartości wejściowych.
Dane wejściowe będą listą liczb dodatnich, dziesiętnych lub liczb całkowitych, a dane wyjściowe będą wykresem kołowym, na którym każda z wartości wejściowych jest reprezentowana przez osobne kolory, a wartość procentowa poza każdym obszarem.
Zasady:
- Kolory muszą być widoczne wizualnie (dokładne kolory są opcjonalne)
- Będą co najmniej dwie, a maksymalnie 10 wartości wejściowych
- Promień okręgu musi być w zakresie
[100 300]
pikseli- Grafika wektorowa jest OK, o ile domyślne wyjście daje promień
[100, 300]
pikseli
- Grafika wektorowa jest OK, o ile domyślne wyjście daje promień
- Wartości procentowe są liczbami całkowitymi
- Nie ma ścisłej zasady określającej, gdzie ma zostać umieszczona wartość procentowa, ale należy łatwo zobaczyć, do którego obszaru należy
- Odległość między najbliższym znakiem a zewnętrzną krawędzią koła musi się mieścić w zakresie
[5, 40]
pikseli - Czcionka jest opcjonalna
- Na wykresie mogą znajdować się czarne linie oddzielające każdy region
- Funkcje stworzone do tworzenia wykresów kołowych, na przykład MATLAB:,
pie
Python:matplotlib.pyplot.pie
i Mathematica:PieChart
są niedozwolone - Normalne zasady zaokrąglania (w górę, jeśli jest
(1.00, 0.5]
, w dół, jeśli jest(0.5, 0.00)
) - Jeśli wartość procentowa plasterka jest mniejsza niż
0.5%
, wynik0%
. Plasterek musi być nadal włączony do wykresu. - Podaj działki do zbadania (lub link do tłumacza). Wystarczy wyświetlić tylko wykres z 10 wartościami wejściowymi (aby uniknąć bardzo długich odpowiedzi)
Przykłady
Użyj poniższych wartości przykładowych. Możesz przekonwertować listy do odpowiedniego formatu za pomocą konwertera liczb , na przykład ten 27-bajtowy przez jimmy23013 .
x = [0.3, 1.2]
x = [3, 6, 2, 10]
x = [0.4387, 0.3816, 0.7655, 0.7952, 0.1869, 0.4898, 0.4456, 0.6463, 0.7094, 0.7547]
code-golf
graphical-output
Stewie Griffin
źródło
źródło
0.5
do zera, jeśli jest to ustawienie domyślne. Ale0.50001
należy zaokrąglić do 1.Odpowiedzi:
Mathematica,
186183164 bajtówMożna dalej grać w golfa. Obecnie generuje
Graphics
obiekt. Przypadki testowe:źródło
JavaScript (ES6),
311310302298 bajtówZapisano bajt z pomocą @Neil!
Wyjaśnienie
Zapisuje niektóre pliki SVG w kodzie HTML bieżącej strony. Tworzy wykres z punktem środkowym
135 x 150
promienia100px
i tekstem w promieniu135px
od środka.źródło
with(Math)c=r=>[sin(d=PI*2*(v+p))*r+135,cos(d)*r+150]
.with(Math)var solution = a=>
itp.with
. Myślę, że mogłem być w trybie ścisłym, kiedy próbowałem go ostatnio ...Python + PIL,
365355Wynik dla największej przykładowej listy:
źródło
eval(raw_input())
odpowiednikiem Pythona 2input()
?