正剧开始:
星历2016年01月02日 15:42:55, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究表内乘法(一)。
什么是乘法呢,小伟看到了这个:
来连一连吧:
乘号的由来:
15:58:04, 小伟看到了乘法口诀,这些可要怎么写呢,小伟问阿伟。
15:58:24, 阿伟早就给小伟准备好了。
下面这个可以把数字用汉字读出来,这是第一步:
<span style="font-size:18px;">#数字的中文写法 def numToChinese(num, s): chineseOfNumber=['零','一', '二', '三', '四', '五', '六',\ '七', '八', '九', '十','百','千','万','亿']; bit = 0; tmp = num; while (tmp > 0): tmp = tmp//10; bit+=1; tmp = num; while (tmp > 0): if (tmp < 10): s += chineseOfNumber[tmp]; tmp -= 10; elif (tmp < 100): s += chineseOfNumber[tmp//10]; s += '十'; tmp = tmp%10; elif (tmp < 1000): s += chineseOfNumber[tmp//100]; s += '百'; tmp = tmp%100; if tmp < 10 and tmp > 0: s += '零'; elif (tmp < 10000): s += chineseOfNumber[tmp//1000]; s += '千'; tmp = tmp%1000; if tmp < 100 and tmp > 0: s += '零'; elif (tmp < 100000000): s1 = ''; s += numToChinese(tmp//10000, s1); s += '万'; tmp =tmp%10000; if tmp < 1000 and tmp > 0: s += '零'; elif (tmp >= 100000000): s1 = ''; s += numToChinese(tmp//100000000, s1); s += '亿'; tmp = tmp%100000000; if tmp < 10000000 and tmp > 0: s += '零'; else: pass; return s;</span>
<span style="font-size:18px;">>>> num = [1, 12, 135, 1568, 10825, 162543]; >>> import myfun; >>> for i in range(len(num)): print('{0} 读作 {1}'.format(num[i], ''+myfun.numToChinese(num[i], ''))); 1 读作 一 12 读作 一十二 135 读作 一百三十五 1568 读作 一千五百六十八 10825 读作 一万零八百二十五 162543 读作 一十六万二千五百四十三</span>
阿伟告诉小伟,接着就可以刷口诀了,小伟立即进行了试验:
<span style="font-size:18px;">#表内乘法口诀(一) def multiplication(): for i in range(1, 7): for j in range(1, 7): result = i * j; if (result < 10): s = '' + numToChinese(i, '')+numToChinese(j, '')+'得'+\ numToChinese(result, ''); print(s, end=' '); else: s = '' + numToChinese(i, '')+numToChinese(j, '')+\ numToChinese(result, '') print(s, end=' '); print('\n'); return; >>> 一一得一 一二得二 一三得三 一四得四 一五得五 一六得六 二一得二 二二得四 二三得六 二四得八 二五一十 二六一十二 三一得三 三二得六 三三得九 三四一十二 三五一十五 三六一十八 四一得四 四二得八 四三一十二 四四一十六 四五二十 四六二十四 五一得五 五二一十 五三一十五 五四二十 五五二十五 五六三十 六一得六 六二一十二 六三一十八 六四二十四 六五三十 六六三十六 </span>
看到了这个数学游戏,小伟兴趣大发,一口气的连声说了下去:
<span style="font-size:18px;">def tmp(): for i in range(1, 10): print('{0}只青蛙{1}张嘴,{2}只眼睛{3}条腿。'.format(i, i, 2*i, 4*i)); return;</span>
<span style="font-size:18px;">>>> 1只青蛙1张嘴,2只眼睛4条腿。 2只青蛙2张嘴,4只眼睛8条腿。 3只青蛙3张嘴,6只眼睛12条腿。 4只青蛙4张嘴,8只眼睛16条腿。 5只青蛙5张嘴,10只眼睛20条腿。 6只青蛙6张嘴,12只眼睛24条腿。 7只青蛙7张嘴,14只眼睛28条腿。 8只青蛙8张嘴,16只眼睛32条腿。 9只青蛙9张嘴,18只眼睛36条腿。</span>
上面这张表应该是怎样整理呢,小伟给出了解答:
<span style="font-size:18px;">#表内乘法口诀(一) def multiplication(): for j in range(1, 7): for i in range(1, 7): if (i > j): continue; result = i * j; if (result < 10): s = '' + numToChinese(i, '')+numToChinese(j, '')+'得'+\ numToChinese(result, ''); print(s, end=' '); else: s = '' + numToChinese(i, '')+numToChinese(j, '')+\ numToChinese(result, '') print(s, end=' '); print('\n'); return;</span>
<span style="font-size:18px;">>>> 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四一十二 四四一十六 一五得五 二五一十 三五一十五 四五二十 五五二十五 一六得六 二六一十二 三六一十八 四六二十四 五六三十 六六三十六 </span>
本节到此结束,欲知后事如何,请看下回分解。