花了两天时间,看了看python基本知识,总感觉不练练手心里不踏实,顺道玩玩ACM

  POJ,HDOJ都没有python的判题,ZOJ还是挺不错的,当然codeforces也可以提交python,不过用于起步的题目(教会基本的输入输出)难找。刚好还有好心人整理的一份由易到难的题目梯度

  连接:http://blog.sina.com.cn/s/blog_8019dfa70100s8ff.html

  初步感觉,python的输入输出还是比较头疼的,貌似只能按行读入(我目前先这么做的)。运行的话,我在linux的vim下编程,然后把数据放到x.txt里,运行时python zoj_10xx.py <x.txt

zoj_1001

View Code
"""
zoj 1001
简单的a+b问题,主要是熟悉下输入输出环境
"""
import sys
for line in sys.stdin:
    a = line.split()
    print int(a[0])+int(a[1])

zoj_1037

View Code
"""
1037
简单的算距离的问题
唯一要注意的地方时,当两个数都是奇数的时候把一个1换成1.41
"""
import sys

n = int(raw_input())

for line in range(1, n+1):
    num = sys.stdin.readline()
    an = num.split()
    a = int (an[0])
    b = int (an[1])
    if (a%2) and (b%2):
        sum=a*b+0.41
    else:
        sum=a*b
    print 'Scenario #%d:'%line
    #这里输出print"%.2f"%sum,'\n'是PE不知道为什么
    print "%.2f\n"%sum

zoj_1048

View Code
"""
1048
看起来一大堆,其实就是平均数
"""
import sys

sum = 0
for i in range(0, 12):
    month = raw_input()
    sum += float(month)
print "$%.2f"%(sum*1.0/12)
    

zoj_1049

View Code
"""
1049
题目比较难读
意思比较简单,洪水从0,0这个点以半圆的形式扩张,每年50面积,问什么时候会到他所在的点
"""
import sys
import math

n = int(raw_input())
for i in range (1, n+1):
    line = raw_input()
    coo = line.split()
    a = float(coo[0])
    b = float(coo[1])
    c = a * a + b * b
    ans = (math.pi) * c / 2
    if ans % 50:
        ans += 50
    ans = int(ans/50)
    print "Property %d: This property will begin eroding in year %d."%(i, ans)

print "END OF OUTPUT."

  我还是觉得,编程语言的学习,就得边学边练,不必一开始就要很透彻的研究好了再下手,应该先知道要怎么解决一个问题,一定的练习量之后对语言比较熟练了就要改变方式,这个时候才是要多问问自己为什么,多想想怎么样节约操作,通过这种方式提高自己。

 

posted on 2013-03-09 23:09  FreeAquar  阅读(2259)  评论(0编辑  收藏  举报