用python寫了個算命腳本

下班騎車回家腦海中突發靈感:

你說這車軲轆是圓的,地球是圓的,太陽是圓的,腦袋是圓的。萬物之初之所以將萬物設計成圓形肯定有它的意義。

那麼能量化圓形的最好的數字就是圓周率π,而π是一組不重複且無窮盡的數字串,那麼我們的生日必定會匹配到π上的某一處。然後我再取出這個匹配到的字符串的索引值,例如你的生日是19900506,這一串數一定會匹配到π上的某處八位數。

那麼將這組數的第一位的索引值,也就是他是在π上的哪個位置的數取出來。比如是在第26592這個位置匹配到了你的生日。

我們再將這個數轉成漢字:26592—>檸

然後再對這個字進行拆分就能窺探出你的前世今生啦。

哈哈哈哈哈,波哥太有才啦。當然如果多次匹配到,恭喜你,你就是天選之人啦,多個漢字組合就會給出你一句話。或許這句話就有某種意義也說不定吧!

想到這波哥到家花了點時間寫了這個算命的腳本:

在這裏插入圖片描述
額。。。

因爲我找到的π元數據只有100萬位,匹配的精度還不夠,只能出生年份+月份,如果把這個數字延長至1千萬或者1億,那麼我上面的理論肯定是成立的。哈哈!不過波哥也加了一些自己的邏輯。

就當閉關修行的小插曲吧!沒事瞎玩唄!算啦!

代碼比較少,就貼這裏啦!想玩玩的可以參考一下哈!

#coding:utf-8
import re

'''算命腳本,提取π的數字'''
new_filename = 'F:\python\\test\文件\\new_pi_ten_million_digits_string.txt'
#格式化源文件,將其變成一行數字
with open(new_filename) as file_objeck:
    pi=file_objeck.read().replace(" ", "").replace("\n","")

'''每次起始值都往前動一位,初始是0'''
start = 0
search = input('pleace enter your birthday: ')
''''''
numstr=''
newstr=''
while True:
    #在π上進行循環比對
    index = pi.find(search,start)
    if index ==-1:
        break
    #將索引值重新組成一個新的字符串
    numstr += str(index)
    print("%s found at index %s" % (index, chr(index)) )
    #整個數在π上進行比對,每次比對後向後面錯一位再比對
    start = index +1
#將新組成的串分成4個一組
numList=re.findall(r'.{4}', numstr)
for num in numList:
    #因爲只有2開頭的5位十進制是能看懂的漢字所以重新拼接字符串
    newnum="2"+num
    #得到的漢字再拼接成一句話
    newstr +=chr(int(newnum))

print('上蒼送給你的一句話是:',newstr)

如果你們沒有找到更好的π源數據測試,可以用波哥的

關注公衆號-波哥的IT人生,回覆:算命腳本獲取100萬位圓周率元數據。

江湖規矩:如文章對您有幫助,請幫波哥轉發分享、點贊哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章