大厂笔试之OJ输入输出处理(Python3)

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))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值