循環,物事周而復始往復相承之變化也。譬如日月之週行,草木之榮枯,社稷之興替。又譬五行有相生之道,金生水,水生木,木生火,火生土,土生金;又有相剋之道,金剋木,木剋土,土剋水,水剋火,火剋金。更有生中有剋,剋中有生之道。亦可謂循環也。夫人,汲汲營營而不息者,終覺疲也。夫機器,行程式而不止者,廢寢忘食,不知倦也。
蚺之循環者有二,一曰凡為是者,while():
也。二曰畛域內者,for:
也。凡為是者,譬如決策,為是者則決之。凡為是者亦然,為是者則行之,為非者則離之。畛域內者,蓋循環乎其限也。譬如行五十遍者,其畛域限乎五十遍,零至四十九也,不逾之。
今有一言,曰:「今朝有酒今朝醉,且盡樽前有限杯」欲言百遍,則代碼書如是:
# 以for試之,x之畛域限乎一百。x始於零,凡行,x加一。
for x in range(100):
print('今朝有酒今朝醉,且盡樽前有限杯')
# 以while試之,先令x為一,後行凡為是者,若x不大於一百,則行書之、x加一。
x = 1
while x<=100:
print('今朝有酒今朝醉,且盡樽前有限杯')
x += 1
乃得今朝有酒今朝醉,且盡樽前有限杯
百遍,其數眾多,故弗示之。
循環內,亦可行各代碼也。今行無窮遍,凡行而數大衍
減一,若大衍
為零則斷之。注曰:「行無窮遍,蓋凡者恆為是也,故while true:
。大衍
共五十。若大衍
為零則斷之,蓋決策也。斷之,由循環離之,下篇詳述」程式書如是:
大衍 = 50
while True:
if(大衍 == 0):
break
else:
大衍 -= 1
print(f'大衍為{大衍}')
乃得大衍為0
也。
畛域內者,其畛域亦可於行列也。今有一字典,曰{'禮':'不逾節', '義':'不自進', '廉':'不蔽惡', '恥':'不從枉'}
,名曰四維
也。亦有一串列,曰['則上位安', '則民無巧詐', '則行自全', '則邪事不生']
,名曰四維之義
也。欲書四維及其義,則書如是:
四維 = {'禮':'不逾節', '義':'不自進', '廉':'不蔽惡', '恥':'不從枉'}
四維之義 = ['則上位安', '則民無巧詐', '則行自全', '則邪事不生']
x = 0
for y in 四維:
print(y+四維[y]+','+四維[y]+四維之義[x])
x += 1
禮不逾節,不逾節則上位安
義不自進,不自進則民無巧詐
廉不蔽惡,不蔽惡則行自全
恥不從枉,不從枉則邪事不生