[从头学数学] 第22节 表内乘法(一)

剧情提要:
[机器小伟]在[工程师阿伟]的陪同下进入练气期第三层功法的修炼,
这次要修炼的目标是[表内乘法(一)]。

正剧开始:


星历2016年01月02日 15:42:55, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究表内乘法(一)。

[从头学数学] 第22节 表内乘法(一)_第1张图片

什么是乘法呢,小伟看到了这个:

[从头学数学] 第22节 表内乘法(一)_第2张图片

来连一连吧:


乘号的由来:

[从头学数学] 第22节 表内乘法(一)_第3张图片

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>

[从头学数学] 第22节 表内乘法(一)_第4张图片


[从头学数学] 第22节 表内乘法(一)_第5张图片

[从头学数学] 第22节 表内乘法(一)_第6张图片


[从头学数学] 第22节 表内乘法(一)_第7张图片

看到了这个数学游戏,小伟兴趣大发,一口气的连声说了下去:

<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>

[从头学数学] 第22节 表内乘法(一)_第8张图片

上面这张表应该是怎样整理呢,小伟给出了解答:

<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>


看着结果这么整齐,小伟很得意。

本节到此结束,欲知后事如何,请看下回分解。

你可能感兴趣的:([从头学数学] 第22节 表内乘法(一))