? ? ? ? ? 看到大大的代碼后真的是很感慨,突然想起了那句話诊赊,最有效的代碼總是優(yōu)美和形式簡單的。以下是大大的代碼:
? ? ? ? 代碼的出發(fā)點是對每月的股票開盤價做平均值和最大值計算府瞄。
1碧磅、用的是字典類型;
2摘能、生成隨機數(shù);
3敲街、先對初始變量利用for 循環(huán)做累加和循環(huán)比較团搞;
4、設(shè)置觸發(fā)計算的條件多艇,也就是利用月末對30的求模運算和29 的比較逻恐,相當于一個開關(guān)一樣,在 for循環(huán)中的開關(guān)峻黍;開關(guān)觸發(fā)執(zhí)行條件中的代碼塊复隆,沒有觸發(fā)繼續(xù)for 循環(huán);
5姆涩、觸發(fā)條件中的運算也很有意思挽拂,直接利用字典定義關(guān)鍵字,利用i和30的除法運算取整再加一來判斷是第幾個月的數(shù)據(jù)骨饿;對相應(yīng)關(guān)鍵字匹配值亏栈;
6台腥、最后再對下個月要用的初始變量進行初始化。
下面是我的代碼:
? ? ? ? 對比我的實現(xiàn)方式可以發(fā)現(xiàn):整個代碼很巧的1绒北、用一行代碼就實現(xiàn)了max的條件賦值黎侈,有點解析式的意思;
2闷游、設(shè)置了開關(guān)峻汉,利用求余數(shù)運算比較來判斷是否是最后一個數(shù)據(jù);
3脐往、對關(guān)鍵字的自動標示運算充分利用取整的思想休吠;
4、對變量初始化钙勃;
5蛛碌、把累加和比較運算放在了for循環(huán)中避免了在條件中的反復(fù)運算,從而節(jié)省了時間辖源。
? ? ? ? 可以想見的是蔚携,對其他需要自動運算并標示的情況都可以用這種設(shè)置一個開關(guān)的方式實現(xiàn)。
? ? ? ? 改變一下數(shù)據(jù)個數(shù)克饶,仍舊可以計算出三個月的數(shù)據(jù)酝蜒。
? ? ? ? 想對字典的輸出坐下改動,發(fā)現(xiàn)直接對字典排序矾湃,輸出的是字典的關(guān)鍵字排序的列表亡脑。
對整個字典項目排序,輸出的是列表邀跃。