python实现64卦的转换

# coding=UTF8
a2 = {'111': '乾卦', '011': '兑卦', '101': '离卦', '001': '震卦', '110': '巽卦', '010': '坎卦', '100': '艮卦', '000': '坤卦'}
b = {'乾为天': '111111', '天风姤': '111110', '天山遁': '111100', '天地否': '111000', '风地观': '110000', '山地剥': '100000',
     '火地晋': '101000', '火天大有': '101111',
     '兑为泽': '011011', '泽水困': '011010', '泽地萃': '011000', '泽山咸': '', '水山蹇': '010111', '地山谦': '000100', '雷山小过': '001100',
     '雷泽归妹': '001011',
     '离为火': '101101', '火山旅': '101100', '火风鼎': '101110', '火水未济': '101010', '山水蒙': '100010', '风水涣': '110010',
     '天水讼': '111010', '天火同人': '111101',
     '震为雷': '001001', '雷地豫': '001000', '雷水解': '001010', '雷风恒': '001110', '地风升': '000110', '水风井': '010110',
     '泽风大过': '011110', '泽雷随': '011001',
     '巽为风': '110110', '风天小畜': '110111', '风火家人': '110101', '风雷益': '110001', '天雷无妄': '111001', '火雷噬嗑': '101001',
     '山雷颐': '100001', '山风蛊': '100110',
     '坎为水': '010010', '水泽节': '010011', '水雷屯': '010001', '水火既济': '010101', '泽火革': '011101', '雷火丰': '001101',
     '地火明夷': '000101', '地水师': '000010',
     '艮为山': '100100', '山火贲': '100101', '山天大畜': '100111', '山泽损': '100011', '火泽睽': '101011', '天泽履': '111011',
     '风泽中孚': '110011', '风山渐': '110100',
     '坤为地': '000000', '地雷复': '000001', '地泽临': '000011', '地天泰': '000111', '雷天大壮': '001111', '泽天夬': '011111',
     '水天需': '010111', '水地比': '010000'}
f = {'111111': '乾为天', '111000': '天地否', '111110': '天风姤', '111100': '天山遁', '110000': '风地观', '100000': '山地剥',
     '101000': '火地晋', '101111': '火天大有', '011011': '兑为泽', '011010': '泽水困', '011000': '泽地萃', '': '泽山咸', '010111': '水天需',
     '000100': '地山谦', '001100': '雷山小过', '001011': '雷泽归妹', '101101': '离为火', '101100': '火山旅', '101110': '火风鼎',
     '101010': '火水未济', '100010': '山水蒙', '110010': '风水涣', '111010': '天水讼', '111101': '天火同人', '001001': '震为雷',
     '001000': '雷地豫', '001010': '雷水解', '001110': '雷风恒', '000110': '地风升', '010110': '水风井', '011110': '泽风大过',
     '011001': '泽雷随', '110110': '巽为风', '110111': '风天小畜', '110101': '风火家人', '110001': '风雷益', '111001': '天雷无妄',
     '101001': '火雷噬嗑', '100001': '山雷颐', '100110': '山风蛊', '010010': '坎为水', '010011': '水泽节', '010001': '水雷屯',
     '010101': '水火既济', '011101': '泽火革', '001101': '雷火丰', '000101': '地火明夷', '000010': '地水师', '100100': '艮为山',
     '100101': '山火贲', '100111': '山天大畜', '100011': '山泽损', '101011': '火泽睽', '111011': '天泽履', '110011': '风泽中孚',
     '110100': '风山渐', '000000': '坤为地', '000001': '地雷复', '000011': '地泽临', '000111': '地天泰', '001111': '雷天大壮',
     '011111': '泽天夬', '010000': '水地比'}
c = input("请输入卦的数字或名字:")
if str.isdigit(c):
    g = f[c]
    d = a2[c[0:3]]
    e = a2[c[-3:]]
    print("{}+{}={}".format(d, e, g))
else:
    d = b[c]
    e = a2[d[0:3]]
    g = a2[d[-3:]]
    print("{}={}+{}".format(d, e, g))

你可能感兴趣的:(python)