Python的字典用法 音符所占百分比 (如何用Python编写音乐)

这是一个新的坑,我打算用Python编写一个midi生成程序,不知道自己能够坚持多久,看一下有没有人看吧.目前打算是用"遗传算法"生成midi.

今天打算讲解如何利用字典,来实现音符出现概率的统计.
也就是一首曲子中,某个音符出现的百分比.
这部分打算用字典实现.
字典是Python中的一个数据结构.
比如, 一个人的成绩, 语文:90 数学:70 英语:60
那么就可以用字典来表示.表示方法如下:
dic={"Chinese":90,"Math":70,"English":60}
如上面这样,一个成绩的字典dic就建立好了.
"Chinese" "Math" "English" 这些叫做字典的"键"
90 70 60这些叫做字典的"值"
通过"键"可以访问"值"
比如dic["English"] 它的结果就是60;
与上面类似,我们需要知道一个音符在整首曲子中用到了多少次,或所占的百分比.
也可以用字典实现.
一个音符在Python程序中,就是一个数字而已,一首曲子在Python程序中就是一个数字序列.
比如 song=[1,2,3,4, 1,2,3,4, 1,2,3,4, 1] 就可以在Python中代表一首曲子啦.当然真是情况可能不会这么简单.
目前就用这个序列做个实验吧.
我们要统计一首曲子song序列中各个音符:1,2,3,4,分别出现了多少次,然后所占百分比也就可以求出来了.
1,2,3,4就是字典的"键" ,至于字典的"值"就是出现的次数,需要我们统计.

我们可以看到,最终
1:4 ->1这个音符出现了4次
2:3 ->2这个音符出现了3次
3:3 ->3这个音符出现了3次
4:3 ->4这个音符出现了3次
完全符合我们的预期,当然也可以用其他的方式.(不一定要用字典的...)

这样输出来的字典并不是很直观,于是我想到了用图片表示它,这里用饼状图吧.
温馨提示一下:如果你想写一个大工程,就要有规划,上面是数据分析,生成字典.可以放到一个.py文件中.画图就不属于数据处理了,可以重新建立一个.py文件,用于专门编写一些生成图片的函数.(比如饼状图,折线图,曲线图,柱状图...都可以放到绘图.py文件中,有利于模块化的管理)
下面我新建立了一个文件:DY_plot_0.py 名字可以随便起的.它的作用就是,里面编写了各种各样的绘图函数,然后,某个时候要绘图时,可以调用这个文件.
先添加一些头文件:在DY_plot_0.py文件中.
然后编写一个绘制饼状图的函数:
然后就可以绘图了.

然后运行一下:
就会把字典:
1:4 ->1这个音符出现了4次
2:3 ->2这个音符出现了3次
3:3 ->3这个音符出现了3次
4:3 ->4这个音符出现了3次
转换成更加直观的图片了:

我希望自己能够坚持下去,用Python实现一个midi文件,前方路还很远,只能在假期去做.自己还有很多音乐的知识不是很懂.希望大家支持 :-)