免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jcodeer

用python重写了C语言经典100例,与大家分享 [复制链接]

论坛徽章:
0
发表于 2007-09-28 19:53 |显示全部楼层
关于文件编码问题,我当时使用的IDLE,每次保存时会提示使用的了非ascii,如果使用python.exe执行的话,在文件的第一行添加如下:

# -*- coding: cp936 -*-

就OK啦

论坛徽章:
0
发表于 2007-09-29 19:15 |显示全部楼层
ding

论坛徽章:
0
发表于 2007-09-30 05:23 |显示全部楼层
lz好厉害!!佩服中~~~尤其是这种态度啊~~~

论坛徽章:
0
发表于 2007-10-01 15:20 |显示全部楼层
楼主,感谢了!

论坛徽章:
0
发表于 2007-10-03 00:53 |显示全部楼层
十分感谢楼主,有了这个就有个例子咯!

论坛徽章:
0
发表于 2007-10-07 16:50 |显示全部楼层
向你学习 !!
也准备向你看齐

论坛徽章:
0
发表于 2007-10-11 22:46 |显示全部楼层
你写的第四个例子在输入2007。13.11时输出data error还输出
it is the 307th day.我是新手,不知道怎样改。请指点。

论坛徽章:
0
发表于 2007-10-11 23:31 |显示全部楼层
当时的想法是:
如果输入的数据非法,如month > 11,mothn < 0情况时,直接退出,后面的程序不再执行。
由于不知道什么语句可以代替exit,所以偷懒了

现在补上:

'''题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
      情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
'''
year = int(raw_input('year:\n'))
month = int(raw_input('month:\n'))
day = int(raw_input('day:\n'))

months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 <= month <= 12:
    sum = months[month - 1]
else:
    print 'data error'
# 对年月做了判断,日只是加了上下限,没有根据月判断输入的是否合法
if year < 0 or month < 0 or month > 11 or day < 0 or day >31:
    import os
    os._exit(1)
   
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
    leap = 1
if (leap == 1) and (month > 2):
    sum += 1
print 'it is the %dth day.' % sum


在else语句中添加
import os
os._exit(1)

谢谢指正,我在blog上更新一下。

[ 本帖最后由 jcodeer 于 2007-10-11 23:42 编辑 ]

论坛徽章:
0
发表于 2009-04-07 09:35 |显示全部楼层
期待经典100例,不过lz已经很强了,我都没写。谢谢

论坛徽章:
0
发表于 2009-04-07 13:56 |显示全部楼层
值得学习,支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP