Python第二次作业

何必想太多,直接上路

感觉终于有时间来补作业了,漫长的六天工作日迎来了短暂的休息。
闲话不多说,直接写心得。没有时间敲代码的时候就在本子上写逻辑。这个是一个非常好的办法,思路是关键。有了思路之后要让思路落地,这个就需要自己爬坑了。大家都知道看代码与写代码是2个完全不同的概念。

一,编写寻找1000以内的完全数

如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。
例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。

思路比较简单:

  • 设置约束条件筛选判断
  • 打印结果
    直接上代码了
prefect__number = []
for x in xrange(1,1000):
    common_divisor = []
    for y in xrange(1,x):
        if x%y == 0:
            common_divisor.append(y)
    if sum(common_divisor)==x:
        prefect_number.append(x)
print prefect_number

设置2个数组,prefect_number存放完全数,common_divisor存放公约数。
1.先for循环获得除了自己的以外的公约数。
2.判断所有的获得的公约数之和是否等于本身。
3.打印出满足条件的完全数。

二,打印万年历

打印万年历的条件:
1)闰年条件:能被4整除且不能被100整除,或者能被400整除
2)1900年1月1日 是周一

注意:这个题不要调用系统函数或库。
代码注意封装,一个函数实现一个功能。注意分析实现打印万年历的功能步骤:

  • 判断闰年;
  • 判断当月有多少天;
  • 这个月的1号是从周几开始的;
  • 格式化打印日历。

其实这个题目的思路已经写的很清楚了,下面就是根据模块开始写功能就可以了。也是直接上代码,不要小看这个麻烦事情多着呢。

# -*- coding:utf-8 -*-
def is_leap_year(year):
    if year%4==0 and year%100==0 or year%400==0:
        return True

def howmany_dayinthe_mouth(year, month):
    month_31day = [1, 3, 5, 7, 8, 10, 12]
    month_30day = [4, 6, 9, 11]
    if month == 2:
        if is_leap_year(year):
            return 29
        else:
            return 28
    for x in month_30day:
        if x == month:
            return 30
    
    for x in month_31day:
        if x == month:
            return 31
        

def which_week(year, month):
    total_day = 0
    leap_year_num = 0
    for x in xrange(1990,year):
        if is_leap_year(year):
            leap_year_num = leap_year_num + 1
    total_day = (year-1990)*365 + leap_year_num

    for x in xrange(1,month):
        total_day = total_day + howmany_dayinthe_mouth(year, x)

    # print 'total day is %d'%(total_day)
    return total_day%7 + 1

def print_cal(year, month):
    # print title year and month
    print ('                     %d-%d')%(year, month)
    # print week
    print 'Mon Tue Wen Thu Fri Sta Sun'

    # search month beginning
    for x in xrange(1,which_week(year, month)):
        print '   ',

    # print date
    n = which_week(year, month)
    for x in xrange(1,howmany_dayinthe_mouth(year, month)+1):
        if n < 7:
            if x < 10:
                print '  %d'%(x),
            else:
                print ' %d'%(x),
            n=n+1
        else:
            if x < 10:
                print '  %d'%(x)
            else:
                print ' %d'%(x)
            n=1


# print 'week is %d'%(which_week(2017, 6))
print_cal(2017, 5)

万年历

说下里面的坑吧:
环境:win10(不高兴开虚拟机了)
IDE:Sublime(我反正是喜欢这个)
Python V2.7

  • 中文显示的问题,windows上面这个我真不想纠结了。python都是默认UTF-8的,想显示正常的转成GBK,懒。
  • python2.7的print函数换行问题,在调整万年历格式的时候,默认是换行。我不要换行啊,怎么办end=‘’好赞,可惜报错,这是python3.0的方法。在2.7的环境下
print x,
#print 后面带一个逗号,就是不换行了。

再跟着打印的结构,调整下格式就好。

又学到一个print的技巧,我这么调整空格实在是太low了/

#如何使整数,保证print固定为4个位置
print '%4d'%x

总结一下

编程关键在于思路。
但是基本功也很重要。
思路清晰,语法简洁。一切都会OK的,好想赶紧进入爬虫的学习啊。
赶紧赶下一篇作业。
最后大家端午节安康


各位端午安康
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容