天干地支纪年用Python
时间: 2024-04-10 17:25:56 浏览: 167
天干地支纪年是中国传统的纪年方式,它由天干和地支两个概念组成。天干包括甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支包括子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。这两个概念组合在一起,用来表示一个60年的周期。
要用Python实现天干地支纪年,可以使用简单的数学运算和列表操作。以下是一个示例代码:
```python
# 定义天干和地支列表
tian_gan = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
di_zhi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
# 输入年份
year = int(input("请输入年份:"))
# 计算天干和地支的索引
tian_gan_index = (year - 4) % 10
di_zhi_index = (year - 4) % 12
# 输出结果
print(f"{year}年对应的天干是{tian_gan[tian_gan_index]},地支是{di_zhi[di_zhi_index]}。")
```
这段代码首先定义了天干和地支的列表,然后通过用户输入的年份计算出对应的天干和地支的索引,最后输出结果。
相关问题
python 天干地支
天干地支是中国传统的纪年系统,将时间划分为天干和地支两个周期。其中,天干由十个字母表示:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支由十二个动物名字表示:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
要根据年份来确定对应的天干地支,可以使用以下代码:
```python
天干 = '甲乙丙丁戊己庚辛壬癸'
地支 = '子丑寅卯辰巳午未申酉戌亥'
def 获取天干地支(年份):
年份 = 年份 - 1900
天干索引 = 年份 % 10
地支索引 = 年份 % 12
return 天干[天干索引] + 地支[地支索引]
年份 = 2022
天干地支 = 获取天干地支(年份)
print(f'{年份}年的天干地支为:{天干地支}')
```
输出结果:
```
2022年的天干地支为:辛丑
```
天干地支python代码实现
天干地支是中国传统历法中用于纪年、月、日、时的重要工具,通常以甲乙丙丁戊己庚辛壬癸十个天干和子丑寅卯辰巳午未申酉戌亥十二个地支组合。在Python中,我们可以创建一个简单的字典来存储它们的关系并进行相关的计算。这里是一个基本的实现:
```python
def get_gan_zhi(year, month, day, hour=0):
# 定义天干地支列表
gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
# 获取年份对应的天干和地支
ganyin = gan[year % 10]
zhipin = zhi[(year + (month - 1) * 12) % 60]
# 如果有小时,则获取时对应的地支
if hour >= 0 and hour < 12:
shichen_zhi = zhi[hour]
else:
shichen_zhi = ""
return ganyin, zhipin, shichen_zhi
# 示例
gan, zhi, shichen = get_gan_zhi(2023, 3, 5, 9)
print(f"公元{2023}年三月五日九时的干支为:{gan}{zhi}{shichen}")
```
这个函数接受年、月、日和(可选)小时作为输入,返回对应的天干、地支和(如果有的话)时辰的地支。注意这只是一个简化的实现,实际应用中可能需要考虑闰月等因素。
阅读全文