2018-05-24

一、万年历

它的功能是:用户输入某年、某月、某日,程序输出这一天是星期几;用户输入某年、某月,程序输出该年该月的每一天是星期几;用户输入某年,程序输出该年每一月的每一天是星期几。
该程序的求解方案是,为给定的年、月、日计算它距离1900年1月1日(它是星期一)的天数,从而得出是星期几;注意要考虑闰年的情况。

def leap_year(year):
    if year%4 == 0 and year%100 != 0 or year%400 == 0:
        return True
    else:
        return False

def days_of_month(year,month):
    days = 31
    if month == 2:
        if leap_year(year):
            days = 29
        else:
            days = 28
    elif month == 4 or month == 6 or month == 9 or month == 11:
        days = 30
    return days

def totaldays(year,month,day):
    totaldays = 0
    for i in range(1900,year):
        if leap_year(i):
            totaldays += 366
        else:
            totaldays += 365
    for j in range(1,month):
        totaldays += days_of_month(year,j)
    totaldays = totaldays+day-1
    return totaldays

def print_month(year,month):
    print ("一   二   三   四   五   六   日")
    print (totaldays(year,month,1)%7*'     ',end="")
    for i in range(1,days_of_month(year,month)+1):
        if i < 10:
            print(i,3*" ",end="")
        else:
            print(i,2*" ",end="")
        if (totaldays(year,month,i)+1)%7 == 0:
            print(" ")

choice = int(input("年份日历请选1,月份日历请选2,某天周几请选3:"))
if choice == 1:
    year = int(input("请输入年份:"))
    for month in range(1,13):
        print("2018年"+str(month)+"月")
        print(print_month(year,month))
if choice == 2:
    year = int(input("清输入年份:"))
    month = int(input("请输入月份:"))
    print(print_month(year,month))
elif choice == 3:
    year = int(input("清输入年份:"))
    month = int(input("请输入月份:"))
    day = int(input("请输入一月中的第几天:"))
    weekday = totaldays(year,month,day)%7+1
    print("这一天是星期"+str(weekday))
else:
    print("请输入1到3的数字!")

二、泰勒法求e值

问题: e = 1 + 1/1! + 1/2! + 1/3! + ... (≈𝟐.𝟕𝟏𝟖𝟐𝟖…) 基于上式求e(自然常数)的近似值,要求最后一项都大于等于10-4

def abc(n):
    if n == 1:
        return 1
    return n*abc(n-1)

for n in range(1,10000):
    if 1/abc(n) < 0.1**4:
        x = n
        break

e = 1
for n in range(1,x+1):
    e += 1/abc(n)

print(e)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mysql 优化数据库设计 第一范式(1st NF) 第一范式的目标是确保每列的原子性定义:数据库表中的所有字段都...
    xyxSUN阅读 406评论 0 1
  • 姓名 顾春阳 公司 扬州市方圆建筑有限公司 打卡第190天 【知~学习】 《六项精进》1遍 共628遍 《大学》1...
    顾春阳阅读 195评论 0 0
  • 前面早已说过,汉朝兴立以来,无论刘邦、吕雉、文帝、景帝对于匈奴,既恨又怕,年轻的刘彻继位之后,天天都在想着能有什么...
    懒虫小狮子阅读 263评论 0 0
  • 1. 单词部分 Egypt n. 埃及Egyptian n. 埃及人 adj. 埃及的 abroad adv. 国...
    张无忌_阅读 1,146评论 0 1
  • 九月九日忆山东兄弟 [ 唐代·王维 ] 独在异乡为异客,每逢佳节倍思亲。 遥知兄弟登高处,遍插茱萸少一人。 又是一...
    莫相问阅读 593评论 1 0