Это для академического задания.
Я хочу знать, как построить круговую диаграмму, используя черепаху. Контекст представляет собой круговую диаграмму, которая отображает процент населения континента. У меня 2 словаря;один, который имеет совокупную численность населения для каждого континента, т.е. Азии, Европы и т. д., а другой - с ценностями, разбитыми по странам.
# dictionary of continental population for 2018
pop2018 = {
'Asia': 0,
'North America': 0,
'South America': 0,
'Africa': 0,
'Europe': 0,
'Oceania': 0
}
# dictionary of each asian country's population for 2018
asia2018={}
for i in l1:
i[6] = i[6].strip()
if i[6] == 'Asia':
pop2018['Asia'] += int(i[1])
pop2019['Asia'] += int(i[2])
countries['Asia'].append(i[0])
asia2018[i[0]] = int(i[1])
asia2019[i[0]] = int(i[2])
Как мне это сделать? Я уже импортировал черепаху и хотел бы определить функцию для этого, чтобы я мог сделать это для всех других континентов. Я также хочу быть в состоянии заполнить цвета также. Я думаю о том, чтобы метки были ключом словаря, а размер кусочков определялся значением ключа. И я понятия не имею, как это сделать.
Они не учили нас, как использовать черепаху, и ожидали, что мы сами ее найдем. Как будто у нас нет других модулей, чтобы заботиться о D:
РЕДАКТИРОВАТЬ
def pie(dict1, dict2):
'''
dict1 = total population
dict2 = countries in continent
'''
radius = 200
percentages = []
rollingpercent = 0
penup()
forward(radius)
left(90)
pendown()
color('palegreen')
begin_fill()
circle(radius)
end_fill()
home()
right(90)
color('black')
for p in dict2:
a = float(dict2[p]/dict1)
percentages.append(a)
for percent in percentages:
segment = percent * 360
rollingpercent += segment
setheading(rollingpercent)
pendown()
forward(radius)
penup()
home()
Это, кажется, зацикливается навсегда. любой совет?