每日哲学与编程练习3——无重复数字(Python实现)

目录

1 人类:一种也没什么特别的动物

1.1 物演进程

1.2 东非——人类的起源

1.3 他们的后代居然会写CSDN博客

1.4 科、属、种

2 每日一小练

2.1 题目

2.2 python代码


1 人类:一种也没什么特别的动物

1.1 物演进程

大约在135亿年前,经过所谓的“大爆炸”(Big Bang)之后,宇宙的物质、能量、时间和空间才成了现在的样子。宇宙的这些基本特征,就成了“物理学”。
在这之后过了大约30万年,物质和能量开始形成复杂的结构,称为“原子”,再进一步构成“分子”。至于这些原子和分子的故事以及它们如何互动,就成了“化学”
大约38亿年前,在这个叫作地球的行星上,有些分子结合起来,形成一种特别庞大而又精细的结构,称为“有机体”。有机体的故事,就成了“生物学”
到了大约7万年前,一些属于“智人”(Homo sapiens)这一物种的生物,开始创造出更复杂的架构,称为“文化”。而这些人类文化继续发展,就成了“历史学”
在历史的路上,有三大重要革命:大约7万年前,“认知革命”(Cognitive Revolution)让历史正式启动。大约12000年前,“农业革命”(Agricultural Revolution)让历史加速发展。而到了大约不过是500年前,“科学革命”(Scientific Revolution)可以说是让历史画下句点而另创新局。就是这三大革命如何改变了人类和其他生物。


1.2 东非——人类的起源

人类早在有历史记录之前就已存在。早在250万年前,就已经出现了非常类似现代人类的动物。然而,世世代代的繁衍生息,他们与一同共享栖地的其他生物相比,并没什么特别突出之处。
如果到200万年前的东非逛一逛,你很可能会看到一群很像人类的生物:有些妈妈一边哄着小婴儿,一边还得把玩疯的小孩抓回来,忙得团团转;有些年轻人对社会上种种规范气愤不满,也有些垂垂老矣的老人家只想图个清静;有肌肉猛男捶着自己的胸膛,只希望旁边的美女能够垂青;也有年长的充满智慧的大家长,对这一切早就习以为常。这些远古时期的人类已懂得爱和玩乐,能够产生亲密的友谊,也会争地位、夺权力,不过,这些人和黑猩猩、狒狒、大象也没什么不同。这些远古类,和一般动物比起来就是没什么特别。

1.3 他们的后代居然会写CSDN博客

他们万万没有想到,他们的后代某一天竟能在月球上漫步、分裂原子、了解基因码,还能写写CSDN博文。说到史前人类最重要的一件事,就是他们在当时根本无足挂齿,对环境的影响也不见得比大猩猩、萤火虫或是水母来得多。

1.4 科、属、种

生物学家把所有生物划分成不同的“物种”。而所谓属于同一物种,就是它们会彼此交配,能够产出下一代。例如马和驴,虽然有共同的祖先,也有许多类似的身体特征,也能够交配,但它们彼此却是缺少性趣,就算刻意让它们交配,产出的下一代会是骡,而不具有生育能力。因此,驴的DNA突变就不可能会传给马这个物种,马也不会传给驴。于是,我们认定马和驴属于两个不同的物种,各有各自的演化路径。相较之下,虽然斗牛犬和西班牙猎犬看来天差地别,却属于同一物种,有一样的DNA库。它们很愿意交配,而且它们的小狗长大后也能再和其他狗交配、子孙满堂。

从同一个祖先演化而来的不同物种,会属于同一个“属” (genus)。例如狮子、老虎、豹和美洲豹,虽然是不同物种,但都是 “豹属”(Panthera)。生物学家用拉丁文为生物命名,每个名字由
两个词组成,第一个词是属名,第二个词则是种名。例如狮子就称为“Panthera leo”,指的是豹属(Panthera)的狮种(leo)。而只要没有意外,每一位在读这本书的应该都是一个“Homo sapiens”:人属(Homo,指“人”)的人种(sapiens,指“明智”)。
许多属还能再归类为同一科(family),例如猫科(狮子、猎豹、家猫)、犬科(狼、狐狸、豺)、象科(大象、长毛象、乳齿象)。同一科的所有成员,都能追溯到某个最早的雄性或雌性祖先。例如所有的猫科动物,不管是家里喵喵叫的小猫或是草原上吼声震天的狮子,都是来自大约2500万年前的某头祖先。
至于智人,也是属于某个科。虽然这件事看来再平凡不过,却曾经是整个历史上最大的秘密。智人一直希望自己和其他动物有所不同,仿佛整个科就只有自己的存在,没有兄弟姐妹,没有远近亲戚,而且最重要的是:没有父母。但可惜这绝非事实。不论你是否接受,我们所属的人科不仅成员众多,而且还特别吵闹,那就是一堆巨猿。与我们最相近的亲戚,就是黑猩猩、大猩猩和猩猩。其中,黑猩猩与我们最为接近。不过就在6万年前,有一头母猿产下两个女儿,一头成了所有黑猩猩的祖先,另一头则成了所有人类的祖奶奶。

2 每日一小练

2.1 题目

有四个数字:1、2、3、4,

能组成多少个互不相同且无重复数字的三位数?有多少个?

2.2 python代码

sum_list = []
sum = 0
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if (i != j) and (j != k) and (i != k):
                s = str(i) + str(j) + str(k)  #1、str() 函数将对象转化为适于人阅读的形式;2、将整形转化为字符串形式。
                sum_list.append(s)

                print("满足要求的数:{};分别为:{}、{}、{}".format(s,i,j,k))
                k = k + 1
                sum = sum + 1
        j = j + 1
    print(i)
    i = i + 1
print("总个数={}".format(sum))
满足要求的数:123;分别为:1、2、3
满足要求的数:124;分别为:1、2、4
满足要求的数:132;分别为:1、3、2
满足要求的数:134;分别为:1、3、4
满足要求的数:142;分别为:1、4、2
满足要求的数:143;分别为:1、4、3
1
满足要求的数:213;分别为:2、1、3
满足要求的数:214;分别为:2、1、4
满足要求的数:231;分别为:2、3、1
满足要求的数:234;分别为:2、3、4
满足要求的数:241;分别为:2、4、1
满足要求的数:243;分别为:2、4、3
2
满足要求的数:312;分别为:3、1、2
满足要求的数:314;分别为:3、1、4
满足要求的数:321;分别为:3、2、1
满足要求的数:324;分别为:3、2、4
满足要求的数:341;分别为:3、4、1
满足要求的数:342;分别为:3、4、2
3
满足要求的数:412;分别为:4、1、2
满足要求的数:413;分别为:4、1、3
满足要求的数:421;分别为:4、2、1
满足要求的数:423;分别为:4、2、3
满足要求的数:431;分别为:4、3、1
满足要求的数:432;分别为:4、3、2
4
总个数=24

Process finished with exit code 0

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值