[英]Python: avoiding fraction simplification
我正在研究Python中的音樂應用程序,並希望使用分數模塊來處理時間簽名等。 我的問題是分數得到簡化,即:
>>> from fractions import Fraction
>>> x = Fraction(4, 4)
>>> x
Fraction(1, 1)
然而,從音樂的角度來看,重要的是4/4保持4/4,即使它等於1.是否有任何內置的方法來避免這種行為?
謝謝!
是的:為它制作一個自定義類。
音樂時間簽名不是分數,因此用數學類來表示它們是沒有意義的。
您應該使用除Fraction之外的某些數據結構。 只是一個簡單的元組是最簡單的,雖然你也可以創建自己的類。 如果需要進行計算,請對構成時間簽名的各個整數執行計算。
不,沒有 - 由GCD划分建立在Fraction類操作中。 您可能想要創建自定義類的其他原因,至少在您使用樂譜時,是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.