欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何用Pythony驗證萬物歸一(考拉咨猜想)

 更新時間:2021年06月18日 17:07:01   作者:一擼程猿  
考拉咨猜想簡單的來說,就是你隨便給我一個整數(shù),我最后都是會通過固定的規(guī)則演變成"1",萬物歸一.今天我們就用那Python驗證一下這個猜想

規(guī)則

我拿到一個數(shù)number:

奇數(shù)則number= 3 * number + 1; 偶數(shù)則number= number // 2; 猜想:對于每一個正整數(shù),如此循環(huán),最終都能夠得到1。

python驗證

#!/usr/bin/env python3
# coding=utf-8
__author__ = "RidingRoad"

START_NUMBER = 1
END_NUMBER = 1000001


def collatz_seq(number):
    """
    獲取到的number是奇數(shù),則number=  3 * number + 1;
    偶數(shù)則number=  number // 2;
    如果考拉咨猜想真的成立,可以number=1,那么程序?qū)V?否則,考拉咨猜想不成立
    :return:1
    """
    while True:
        if number == 1:
            return number
        else:
            # number為偶數(shù)
            if not number % 2:
                number = number // 2
            else:
                # number為奇數(shù)
                number = 3 * number + 1


if __name__ == "__main__":
    # 存放驗證考拉咨猜想函數(shù)的結(jié)果
    result = []
    for i in range(START_NUMBER, END_NUMBER):
        # 驗證START_NUMBER, END_NUMBER之間的數(shù)
        result.append(collatz_seq(i))
    # 顯示結(jié)果
    print(result)

下面是1到1000,000的數(shù)字進行考拉咨猜想驗證的結(jié)果

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,......]

可以看到:萬里挑一啊, so easy

古人的猜想,如果還是基于傳統(tǒng)的計算工具,那是多么的無聊單調(diào),我們可以用Python來瞬間完成,感謝龜叔哦.

這里我們就不自己肉眼判斷了,我們用filter

def verify(num):
    """判斷結(jié)果里的不是1的數(shù)"""
    return 1 != num

if __name__ == "__main__":
    # 存放驗證考拉咨猜想函數(shù)的結(jié)果
    result = []
    for i in range(START_NUMBER, END_NUMBER):
        # 驗證START_NUMBER, END_NUMBER之間的數(shù)
        result.append(collatz_seq(i))
    # 使用filter對結(jié)果進行判斷是否存在非1的數(shù)
    print(list(filter(verify,result)))
    """
        filter(function or None, iterable) --> filter object

        Return an iterator yielding those items of iterable for which function(item)
        is true. If function is None, return the items that are true.
    """

結(jié)果

[]

輸出了一個[]空列表,說明result列表里全部為一,考拉咨猜想是可能正確的.為什么說可能,是因為我只驗證了1到1000000的數(shù)字. 剩下的數(shù)字, 大家自己驗證一下(可能需要很長時間哦)!

以上就是如何用Pythony驗證萬物歸一(考拉咨猜想)的詳細內(nèi)容,更多關(guān)于Pythony驗證萬物歸一(考拉咨猜想)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 全面了解Python的getattr(),setattr(),delattr(),hasattr()

    全面了解Python的getattr(),setattr(),delattr(),hasattr()

    下面小編就為大家?guī)硪黄媪私釶ython的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 一起來了解python的基本輸入和輸出

    一起來了解python的基本輸入和輸出

    這篇文章主要為大家詳細介紹了python的基本輸入和輸出,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • numpy.unique()使用方法

    numpy.unique()使用方法

    本文主要介紹了numpy.unique()使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python中選擇排序的實現(xiàn)與優(yōu)化

    Python中選擇排序的實現(xiàn)與優(yōu)化

    選擇排序(Selection?Sort)是一種簡單但有效的排序算法,本文將詳細介紹選擇排序算法的原理和實現(xiàn),并提供相關(guān)的Python代碼示例,需要的可以參考一下
    2023-06-06
  • python+matplotlib實現(xiàn)鼠標移動三角形高亮及索引顯示

    python+matplotlib實現(xiàn)鼠標移動三角形高亮及索引顯示

    這篇文章主要介紹了Python+matplotlib實現(xiàn)鼠標移動三角形高亮及索引顯示,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python日志syslog使用原理詳解

    Python日志syslog使用原理詳解

    這篇文章主要介紹了Python日志syslog使用原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 詳解DeBug Python神級工具PySnooper

    詳解DeBug Python神級工具PySnooper

    這篇文章主要介紹了詳解DeBug Python神級工具PySnooper,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python將鄰接矩陣輸出成圖的實現(xiàn)

    python將鄰接矩陣輸出成圖的實現(xiàn)

    今天小編就為大家分享一篇python將鄰接矩陣輸出成圖的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • pyspark 讀取csv文件創(chuàng)建DataFrame的兩種方法

    pyspark 讀取csv文件創(chuàng)建DataFrame的兩種方法

    今天小編就為大家分享一篇pyspark 讀取csv文件創(chuàng)建DataFrame的兩種方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python中集合的創(chuàng)建及常用函數(shù)的使用詳解

    Python中集合的創(chuàng)建及常用函數(shù)的使用詳解

    這篇文章主要為大家詳細介紹了Python中集合的創(chuàng)建、使用和遍歷,集合常見的操作函數(shù),集合與列表,元組,字典的嵌套,感興趣的小伙伴可以了解一下
    2022-06-06

最新評論