首页 > 编程语言 > 详细

python 学习过程记录 第一弹

时间:2015-10-25 14:57:46      阅读:301      评论:0      收藏:0      [点我收藏+]

    我学习python是师姐先给我留的作业,然后我再去在网上找资源学习,感觉有目的的学习有利也有弊。作业是这样的:

  • 给定两个日期,计算两个日期之间有多少个2月29日。

    嗯,这就是传说中的闰年判断的升级版:闰年数计算!!!留作业之前我一点都没学呢,真是没有一点点防备。于是在有限的时间里,我学习了python输入输出赋值计算判断循环。可是!没来得及学函数(我好方.),于是别人写了几行就能写完的作业,我写了两个屏   T-T  。下面贴一下我码的~~(缩进格不见了,自己一个个打  T-T)


 

# _*_ coding _*_

print(‘第一个日期必须比第二个早‘)

y1 = input(‘第一个年份‘)
m1 = input(‘第一个月份‘)
d1 = input(‘第一个日子‘)
y2 = input(‘第二个年份‘)
m2 = input(‘第二个月份‘)
d2 = input(‘第二个日子‘)

y1=int(y1)
y2=int(y2)
m1=int(m1)
m2=int(m2)
d1=int(d1)
d2=int(d2)

if m1<2 and m2<2:
    c=y2-y1
    n=0
    while c>0:
        y2=y2-4
        n=n+1
        c=y2-y1
    print(‘这两个日期之间有‘,n,‘个2月29日‘)
elif m1>2 and m2>2:
    c=y2-y1
    n=0
    while c>0:
        y2=y2-4
        n=n+1
        c=y2-y1
    print(‘这两个日期之间有‘,n,‘个2月29日‘)
elif m1<2 and m2>2:
    c=y2-y1
    n=1
    while c>0:
        y2=y2-4
        n=n+1
        c=y2-y1
    print(‘这两个日期之间有‘,n,‘个2月29日‘)
elif m1>2 and m2<2:
    c=y2-y1
    n=-1
    while c>0:
        y2=y2-4
        n=n+1
        c=y2-y1
    print(‘这两个日期之间有‘,n,‘个2月29日‘)
else:
    for ds in d:
    if m1==2 and m2==2 and ds<=28:
        c=y2-y1
        n=0
        while c>0:
            y2=y2-4
            n=n+1
            c=y2-y1
        print(‘这两个日期之间有‘,n,‘个2月29日‘)
    elif m1==2 and m2==2 and d1==29:
        c=y2-y1
        n=1
        while c>0:
            y2=y2-4
            n=n+1
            c=y2-y1
        print(‘这两个日期之间有‘,n,‘个2月29日‘)
    elif m1==2 and m2==2 and d2==29:
        c=y2-y1
        n=1
        while c>0:
            y2=y2-4
            n=n+1
            c=y2-y1
        print(‘这两个日期之间有‘,n,‘个2月29日‘)

exit

 


   这个程序我就能数出来4处不足,但是我还是把它贴出来了,毕竟是我的第1个孩子(摔)。

    嗯,这个作业是不完整的,甚至可以说是错误的,但是它还是给我了一些收获的。(尽管在稍微有点编程技术的人眼中看,这全都是常识,但作为一个初学者,我还是欣喜的迎接这种收获的。)

    第一,我在用了 for x in a   后,发现每次都是输出了两个语句,而且有一个是错的。经过大神指点后才明白,for 是把清单里每一个元素都拿出来单列一遍,并不是一起拿出来(这里并没有原错误代码,所以有点难以理解,没法儿)。

    第二,当我用   if  a  =  2  :bulabula什么的时候,这个等号一直在报错!同一个大神指点后,一个等号是赋值,两个等号是判断。

    第三,当我想完成一个if就退出程序,大神听了我的意思后,表示只需要镶嵌if就行了,没有必要那么麻烦。

    第四,我写这个程序的时候意识到一个问题,最基础的东西可以解决大部分问题,因为更高级的东西都是由基础的东西推出来的。但是,高级的东西可以提高工作效率,节省大量时间。

    第五,我最开始输入年份用于计算的时候,它总是  45+97=4597,而不是   45+97=142,又是经过大神指点才发现数据类型错了,需要经过int的转换。

 

    另:非编程的感悟,完美主义永远都不是拖延症的理由。

 

    (我是绝不会告诉你们那个大神是谁的。\抠鼻)

 

python 学习过程记录 第一弹

原文:http://www.cnblogs.com/gebulindashi/p/4908745.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!