Skip to content

Instantly share code, notes, and snippets.

stem = "甲乙丙丁戊己庚辛壬癸"
branch = "子丑寅卯辰巳午未申酉戌亥"
print(*(stem[i % 10] + branch[i % 12] for i in range(60)))
print([stem[i % 10] + branch[i % 12] for i in range(60)])
print({i + 1: stem[i % 10] + branch[i % 12] for i in range(60)})
import csv
import json
with open("stem_branch.json", "r") as f:
a = json.load(f)
fieldnames = ['year', '干支']
with open("干支.csv", "w", newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in a:
import json
def stem_branch(n):
stem = "甲乙丙丁戊己庚辛壬癸"
branch = "子丑寅卯辰巳午未申酉戌亥"
return stem[(n - 4) % 10] + branch[(n - 4) % 12]
d = []
@liu-sun
liu-sun / interface.py
Last active August 7, 2021 10:23
天干地支图形用户界面
import tkinter as tk
import tkinter.messagebox
root = tk.Tk()
label=tk.Label(root, text="请输入年份:")
label.pack(side="left")
input=tk.Entry(root)
input.pack(side="left")
def stem_branch():
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}'.format(j, i, i*j), end='\t')
print()
@liu-sun
liu-sun / stembranch.py
Last active June 5, 2022 12:17
十二生肖
stem = "甲乙丙丁戊己庚辛壬癸"
branch = "子丑寅卯辰巳午未申酉戌亥"
while True:
try:
y = int(input("请输入年份:"))
print(f"{y}年是{stem[(y - 4) % 10]}{branch[(y - 4) % 12]}年")
break
except ValueError:
print("请输入年份数字!")
continue
@liu-sun
liu-sun / StemBranch.py
Created May 20, 2021 14:03
天干地支
import math
# 天干(celestial stem)
stem = "甲乙丙丁戊己庚辛壬癸"
# 地支(terrestrial branch)
branch = "子丑寅卯辰巳午未申酉戌亥"
# 最小公倍数(least common multiple, LCM)
lcm = math.lcm(len(stem), len(branch))
# 干支
for i in range(lcm):
@liu-sun
liu-sun / fibonacci.R
Created May 20, 2021 13:50
fibonacci的递归算法(R实现)
fibonacci <- function(n) {
if (n <= 1)
return(n)
else
return(fibonacci(n - 1) + fibonacci(n - 2))
}
@liu-sun
liu-sun / fibonacci.py
Created May 20, 2021 13:49
fibonacci的递归算法
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
@liu-sun
liu-sun / factorial.py
Created May 20, 2021 13:48
阶乘的递归算法
'''
import math
math.factorial
'''
def factorial(n):
if n <= 1:
return 1
else:
return n * factorial(n - 1)