2021-04-12

ccf总结1:Python oj输入方法

输入一个字

     直接用input()读入保存为字符串格式,再用int强制转换

 m = int(input())

输入一行多个字

     用map函数对多个输入排版对应

x, y = map(int, input().split())

输入多行多个字

方法1:

用extend输入为一维列表

v=[]
for i in range(5):  #输入五行
    x,y=map(int,input().split())  #每行两个数字
    v.extend((x,y))

输入:

4 5
7 -3
10 1
1 10
4 20

输出:
>>> v
[4, 5, 7, -3, 10, 1, 1, 10, 4, 20]

方法2:

用append输入为二维数据

v=[]
for i in range(5):  #输入五行
    x,y=map(int,input().split())  #每行两个数字
    v.append((x,y))  #把小括号换成中括号输出就是二维列表

输入:

4 5
7 -3
10 1
1 10
4 20

输出:
>>> v
[(4, 5), (7, -3), (10, 1), (1, 10), (4, 20)]

方法3:

用列表替换x, y,一行输入多个字

v=[]
x=[]
for i in range(5):
    x=list(map(int,input().split()))
    v.append(x) 

输入

4 5 7 -3 10 1
4 5 7 -3 10 1
4 5 7 -3 10 1
2 4 5 7 -3 10 1
1 4 5 7 -3 10 1

输出

>>> v
[[4, 5, 7, -3, 10, 1], [4, 5, 7, -3, 10, 1], [4, 5, 7, -3, 10, 1], [2, 4, 5, 7, -3, 10, 1], [1, 4, 5, 7, -3, 10, 1]]

方法4:

调用sys库输入:有些博客[1]说输入容量大的用for循环调用input会超时,因此要调用系统输入一次性读取数据。

#用Ctrl+D再enter结束输入,我的Python 3.9版本在命令行不能结束输入。可以用方法1在本地做测试,在最后提交代码的时候再换成这个。

不是3.9版本的Python IdLE应该都能用Ctrl+D再enter结束输入。

import sys
v=list(map(int,sys.stdin.read().split())) 

输入:对输入没有要求,输入多少都是一个一维列表,

参考方法1的输出

参考:[1]https://blog.csdn.net/weixin_44423317/article/details/108487201#comments_15852922

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值