python 之易经启卦

#encoding=utf-8
#这是一个易经的启卦程序,在windows下的python3.3下创建‘
#启卦要本着易的四原则,无事不占,不动不占,无疑不占.不能乱占。
import random
banyao = range(1,385)
#获取1到384的随机数。
fz = []
#爻的阴阳列表
fx = []

#爻符列表
fy = ["初","二","三","四","五","上"]

#爻位列表
fu = []

#爻的阴阳列表用数字表示。
fq = {‘010‘: ‘上离‘, ‘011‘: ‘上艮‘, ‘111‘: ‘上坤‘,
      ‘110‘: ‘上震‘, ‘100‘: ‘上兑‘, ‘101‘: ‘上坎‘,
      ‘001‘: ‘上巽‘, ‘000‘: ‘上乾‘}
fp = {‘111‘: ‘下坤‘, ‘110‘: ‘下震‘, ‘100‘: ‘下兑‘,
      ‘101‘: ‘下坎‘, ‘001‘: ‘下巽‘, ‘000‘: ‘下乾‘,
      ‘010‘: ‘下离‘, ‘011‘: ‘下艮‘}

#卦号字典,三个爻的阴阳对应的八卦。
fa = {‘101‘: ‘6‘, ‘100‘: ‘2‘,
      ‘110‘: ‘4‘, ‘111‘: ‘8‘,
      ‘000‘: ‘1‘, ‘001‘: ‘5‘,
      ‘011‘: ‘7‘, ‘010‘: ‘3‘}
# 三个爻号对应的卦序。

#定义以上这些列表和字典,以供下面的代码使用。
def qg():
    suiji = random.sample(banyao,1)
    jiou = suiji[0] % 2
    
    if jiou == 0:
        fx.append(‘  一‘)
        fz.append(‘九‘)
        fu.append(0)
    else:
        fx.append(‘  --‘)
        fz.append(‘六‘)
        fu.append(1)
        

#定义一个函数,获取一个随机数写到上面建好的列表中.
for i in range(0,6):
    qg()

#运行6次上面的函数。得到一整卦。

for j in range(0,6):
    fr = open("qg/t.txt",‘a‘)
    fr.write (fy[j]+fz[j]+fx[j] + "\n")
    fr.close()

#组合上面列表数据写到一个文件中。

for n in range(0,6):
    fl = open("qg/fl.txt",‘a‘)
    fl.write(str(fu[5-n]))
    fl.close()

#从最后向前读列表数字并写到文件fl中。

for an in open("qg/fl.txt",‘r‘):
   print (fq[an[0:3]])
   print (fp[an[3:6]])

#把fl文件数据分成两部分,分别用这部分去对应字典fq和fp中的值,并输出。

for ai in open("qg/fl.txt",‘r‘):
    f2 = open("qg/f2.txt",‘a‘)
    f2.write(str(fa[ai[0:3]]))
    f2.close()
    f2 = open("qg/f2.txt",‘a‘)
    f2.write(str(fa[ai[3:6]]))
    f2.close()    

#再把地fl文件分成两部分,去对应字典fa,把数据写入文件f2.txt中。
for al in open("qg/f2.txt",‘r‘):
    ac =int(al)
    
#读出f2.txt文件中的数据,不做操做。    

def fm():
    for i in range(0,6):
        fr = open("qg/t.txt",‘r‘)
        print (fr.readlines()[5 - i])
        fr.close()
#定义函数fm,把t.txt的内容从最后一行读到第一行
fm()
#运行这个函数。

an = {"23":"1","00":"1","01":"2","02":"2","03":"3","04":"3","05":"3","06":"4",
      "07":"4","08":"5","09":"5","10":"6","11":"6","12":"7","13":"7","14":"8",
      "15":"8","16":"9","17":"9","18":"10","19":"11","20":"11","21":"12","22":"12"}

#创建字典 an,把时间对应的参数写到字典里。
import time
am = (time.strftime("%H"))
#print (time.strftime("%H"))
#获取当前小时数
if am in an:
    ax = an[am]
    ay = (int(ax) + ac) % 6
    print ("变爻为",int(ay))
    
#用当前小时数对应的参数加上对应的卦数除以6取余,就是获得的变爻数。

fv = fu[:]

ba = fv[ay-1]
if ba == 0:
    fv[ay-1] = 1
else:
    fv[ay-1] = 0

#复制fu列表,并把对应的变爻卦符改变。
#print (fu)
#print (fv)    

for na in range(0,6):
    fi = open("qg/fi.txt",‘a‘)
    fi.write(str(fv[5-na]))
    fi.close()
#把fv列表内容反向写入 fi.txt文件中。
for ao in open("qg/fi.txt",‘r‘):
   print (fq[ao[0:3]])
   print (fp[ao[3:6]])

for aj in open("qg/fi.txt",‘r‘):
    f3 = open("qg/f3.txt",‘a‘)
    f3.write(str(fa[aj[0:3]]))
    f2.close()
    f3 = open("qg/f3.txt",‘a‘)
    f3.write(str(fa[aj[3:6]]))
    f3.close()

for aq in open("qg/f3.txt",‘r‘):
    j = aq
    

ff = {‘74‘: ‘27‘, ‘34‘: ‘21‘, ‘88‘: ‘2‘, ‘86‘: ‘7‘, ‘33‘: ‘30‘,
      ‘84‘: ‘24‘, ‘85‘: ‘46‘, ‘82‘: ‘19‘, ‘83‘: ‘36‘, ‘54‘: ‘42‘,
      ‘21‘: ‘43‘, ‘22‘: ‘58‘, ‘23‘: ‘49‘, ‘24‘: ‘17‘, ‘25‘: ‘28‘,
      ‘26‘: ‘47‘, ‘27‘: ‘31‘, ‘28‘: ‘45‘, ‘68‘: ‘8‘, ‘73‘: ‘22‘,
      ‘58‘: ‘20‘, ‘71‘: ‘26‘, ‘77‘: ‘52‘, ‘76‘: ‘4‘, ‘75‘: ‘18‘,
      ‘38‘: ‘35‘, ‘37‘: ‘56‘, ‘36‘: ‘64‘, ‘35‘: ‘58‘, ‘52‘: ‘61‘,
      ‘55‘: ‘57‘, ‘32‘: ‘38‘, ‘57‘: ‘53‘, ‘56‘: ‘59‘, ‘87‘: ‘15‘,
      ‘72‘: ‘41‘, ‘66‘: ‘29‘, ‘15‘: ‘44‘, ‘14‘: ‘25‘, ‘17‘: ‘33‘,
      ‘16‘: ‘6‘, ‘11‘: ‘1‘, ‘13‘: ‘13‘, ‘12‘: ‘10‘, ‘81‘: ‘11‘,
      ‘18‘: ‘12‘, ‘64‘: ‘3‘, ‘65‘: ‘48‘, ‘48‘: ‘16‘, ‘67‘: ‘39‘,
      ‘61‘: ‘5‘, ‘62‘: ‘60‘, ‘63‘: ‘63‘, ‘42‘: ‘54‘, ‘43‘: ‘55‘,
      ‘41‘: ‘34‘, ‘46‘: ‘40‘, ‘47‘: ‘62‘, ‘44‘: ‘51‘, ‘45‘: ‘32‘,
      ‘51‘: ‘9‘, ‘78‘: ‘23‘, ‘31‘: ‘14‘, ‘53‘: ‘37‘}

#上面这个字典是把上下卦的组合号转换成卦号,这个也可以不改,这里不改京要改经文的文件名。

import os
os.remove("qg/t.txt")
os.remove("qg/fl.txt")
os.remove("qg/f2.txt")
os.remove("qg/fi.txt")
os.remove("qg/f3.txt")
del fu[:]
#清除上面生成的文件和列表

u = str(ff[j]) + ".txt"

z = open("gy/" +u,‘r‘)
print (z.read())
z.close()

#输出对应的文件 u 。

python 之易经启卦,布布扣,bubuko.com

时间: 2024-10-17 01:04:25

python 之易经启卦的相关文章

玩蛇记之用python实现易宝快速支付接口

玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支持做得很是差劲,易宝的例子代码居然是错的,这么囧的事情都能出现,可见国内的竞争还是不够激烈啊. 进入主题,今天的任务是要打通支付和支付通知接口,根据一般性规则,通过http协议的支付接口的一般设计都是,通过N个field或者查询参数传递数据,其中一个是验证串,防止篡改数据,每个申请了支付接口的用户都

python基础易错题

1.以下代码输入什么: class Person: a = 1 def __init__(self): pass def getAge(self): print(__name__) p = Person() p.getAge() 结果为: __main__ 2.为了让下面这段代码运行,需要增加哪些代码? class A(object): def __init__(self,a,b): self.__a = a self.__b = b def myprint(self): print('a=',

盘点Python中易忽略的函数

Python 内置函数 1.ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常 2.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的

快速学Python 和 易犯错误(文本处理)

基础教程 (1)文件I/O  非常类似于 c语言:IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. spath="D:/download/baa.txt" f=open(spath,"w") # Opens file for writing.Cre... v.17173.com/playlist_23218605.htmlv.1

python学习易错点1

1.>>> d = {'x': 'A', 'y': 'B', 'z': 'C' } >>> for k, v in d.iteritems(): ... print k, '=', v ... y = B x = A z = C 2.>>> L = ['Hello', 'World', 'IBM', 'Apple'] >>> [s.lower() for s in L] ['hello', 'world', 'ibm', 'apple

python 之双色球预测

#encoding=utf-8 #这是一个易经的启卦程序,在windows下的python3.3下创建' #启卦要本着易的四原则,无事不占,不动不占,无疑不占.不能乱占. #预测原理是,随机生成一组6个红球号码,然后运行易经启卦程序,如果此结果 #为上上卦,那么这组号码就被打印出来,如果不是遇继续生成随机数,易经启卦原理我 #用 shell 写过一次了,这次是用python 又写了一次,思路是一样的,过程有差别,在 #shell 中主要是操作文件,在python中主要操作的是列表和字典. def

python学习——多线程

多任务可以由多进程完成,也可以由一个进程内的多线程完成. 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程. 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程. Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装.绝大多数情况下,我们只需要使用thread

python搜索引擎

用python如何实现一个站内搜索引擎? 先想想搜索引擎的工作流程: 1.网页搜集.用深度或者广度优先的方法搜索某个网站,保存下所有的网页,对于网页的维护采用定期搜集和增量搜集的方式. 2.建立索引库.首先,过滤掉重复的网页,虽然他们有不同的URL:然后,提取出网页的正文:最后,对正文切词,建立索引.索引总要有个顺序,利用pagerank算法给每个网页加个权值. 3.提供搜索服务.首先,切分查询词:然后,对索引结果排序,结合原来的权值和用户的查询历史等作为新的索引顺序:最后,还要显示文档摘要.

Python文件操作之简化代码

一朝误入此门中,从此红尘了如空.... 程序这条路,当真是路漫漫... 这两天找到一本书,名为<笨方法学Python第三版>,全实例,感觉挺好的.需要的点书名下载, 密码:gmpn 今天想说的是习题17,先看书中源码: 1 from sys import argv 2 from os.path import exists 3 script, from_file, to_file = argv 4 print "Copying from %s to %s" % (from_f