OJ是Online Judge的简称,用来在线检测程序源代码的正确性。OJ系统能够编译并执行代码,使用预设的数据对这些程序进行测试。提交的代码一般会在受限的环境下运行,包括时间限制、内存限制、安全限制等。一般需要自己处理输入,python3中用sys库来处理。
import sys
# sys.stdin是一个迭代器,里面接收了每一条输入。
# 迭代器可以记录遍历位置,下次读取将读取下一条数据
# 知识点1,读取一条:
cur = sys.stdin.readline()
# 知识点2,遍历迭代器:
for line in sys.stdin:
a = line.strip().split()
#将string转化为整型,map返回迭代器,所以用list得到列表
a = list(map(int,a))
print(sum(a))
# 字符串处理
# strip(),去掉该行首尾空白符。split(),按空格分割字符串,返回列表
# 比如: cur == 'I Love AI '
# cur = cur.strip().split(),将得到['I','Love','AI']
情况1:未知行数据
处理方式:直接遍历迭代器
for line in sys.stdin:
a = line.strip().split()
情况2:声明有n行数据,接下来给出这些数据
处理方式:先读取一条,再遍历迭代器
#这里的n就是第一个输入,代表有几行数据,我们这里先取出来备用,剩下的数据就可以遍历处理了
n = int(sys.stdin.readline()) #int(' 12 ')能得到12,所以不必strip()
for line in sys.stdin:
a = line.strip().split()
value = list(map(int,a))
再复杂的情况都可以拆解为以上两种,只要记住sys.stdin是一个迭代器,通过一次读取,记录需要的参数,读取到数据再执行遍历即可。
输出
格式化输出:保留小数点后2位
print("%.2f" % ans)
print('{:.2f}'.format(ans))