相关文章推荐
傻傻的馒头  ·  STRING_SPLIT ...·  2 周前    · 
热心的酱肘子  ·  Python ...·  1 年前    · 

sys.stdin

  • python3中使用 sys.stdin.readline() 可以实现标准输入,其默认输入的格式是字符串,如果是int,float类型则需要强制转换。
  • sys.stdin.readline() 每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象;
  • sys.stdin.readline() 会读取末尾 '\n' ,加 .strip() ,去掉回车符,同时去掉前后的空格。
  • read([size]) 从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象。
  • readlines() 读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存

1. 输入一行

1.1 输入一个数或字符
>>




    
> import sys
#输入一个字符(串)
>>> str=sys.stdin.readline()
>>> print(len(str))
>>> str=sys.stdin.readline().strip()
>>> print(len(str))
#输入一个数
>>> num=sys.stdin.readline().strip()
>>> print(len(num))
1.2 输入多个数
>>> import sys
>>> num=sys.stdin.readline()
1 2 3
>>> print(len(num))
>>> type(num)
<class 'str'>
>>> num=sys.stdin.readline().strip()
1 2 3
>>> print(len(num))
>>> print(num)
1 2 3
>>> num=sys.stdin.readline().split()
1 2 3
>>> print(len(num))
>>> print(num)
['1','2','3']
>>> type(num)
<class 'list'>
>>> a,b,c=sys.stdin.readline().split()
1 2 3
>>> print(a)
>>> print(len(a))
>>> type(a)
<class 'str'>
#转换为int类型
>>> num=[int(n) for n in sys.stdin.readline().split()]
1 2 3
>>> print(num)
[1,2,3]
>>> a,b,c=[int(n) for n in sys.stdin.readline().split()]
1 2 3
>>> num=map(int,sys.stdin.readline().split())
1 2 3
>>> print(num)
<map object at 0x000000D6BEFE89E8>
>>> num=list(num)
>>> print(num)
[1,2,3]

2. 输入多行

2.1 行数已知
>>> import sys
#已知行数n,一行有任意个字符字符串都可以
>>> seq[]
>>> for i in range(n):
... 	line=sys.stdin.readline().strip()
... 	value=list(map(int,line.split()))
...		seq+=value
...
1 2 3
>>> print(seq)
[1,2,3,2,4]
>>> ans=[]
>>> for i in range(n):
...     line=list(map(int,sys.stdin.readline().split()))
... 	ans.append(line)
...
1 2 3
>>> print(ans)
[[1,2,3],[




    
2,4]]
2.2 行数未知
>>> seq=[] >>> while 1: ... line=sys.stdin.readline().strip() #line此时是字符串列表,并已去掉前后空格、回车符 ... if line: ... line=list(map(int,line.split())) ... else: ... break ... seq.append(line) ... print(seq) >>> lines=sys.stdin.readlines() 7 8 9 >>> print(lines) ['3\n','2 3\n','3 5\n','1 4\n','7 8 9\n'] >>> n=lines[0].split() >>> print(n) >>> seq=[] >>> for line in lines[1:-1]: ... if not line.split(): ... continue ... l=list(map(int,line.split())) ... seq.append(l) >>> print(seq) [[2,3],[3,5],[1,4]] >>> ab=list(map(int,lines[-1]).split())) >>> print(ab) [7,8,9] >>> seq=[] >>> for line in sys.stdin: ... nums=line.split() ... if int(nums[0])==0: ... break ... else: ... seq.append(list(map(int,line.split()))) ... >>> print(seq) [[2,3],[3,5]]

input()

1.一行输入

1.1 输入一个数/字符串
>>> s = input()#一个字符
>>> num=int(input())#一个数字
>>> print(s,num)
abc 23
1.2 输入一个数组
>>> nums = [int(i) for i in input().split()]
11 15 18 21
>>> print(nums)
[11,15,18,21]

2. 两行输入

  两行读取要在一行读取的基础上再进行一些操作。这里举个例子,假设第一行输入数组长度,第二行输入数组,那么读入操作分两步,首先获得数组长度,然后获取数组。

>>> s = input()
>>> if s != "":
... 	length = int(s)
...     nums = [int(i) for i in input().split()]
...     print(length, nums)

3. 多行输入

>>> data = []
>>> length = int(input())
>>> n = 0
>>> while n < length:
...     s = input()
...     if s != "":
...         temp = [i for i in s.split()]
...         data.append(temp)
...         n = n + 1
...     else:
...         break
>>> print(data)
                    sys.stdinpython3中使用sys.stdin.readline()可以实现标准输入,其默认输入的格式是字符串,如果是int,float类型则需要强制转换。sys.stdin.readline() 每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象;sys.stdin.readline() 会读取末尾'\n',加.strip(),去掉回车符,同时去...
				
之前在Python输入都是用的input(),但是看到大家都用sys.stdin.readline(),没办法那我也得用. python3中使用sys.stdin.readline()可以实现标准输入,需要调用sys库,sys.stdin是一个标准化输入的方法,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换。如: import sys print('Plase input your name: ') name = sys.stdin.readline() print('Hello ', name) import sys while Tr
运用sys输入数据sys.argv简介实验案例 “sys” 即 “system” ,该模块提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,同时模块中还提供了一部分函数,可以与解释器进行比较深度的交互 sys.argv 是一个列表对象,其中存储的是在命令行调用 Python 脚本时提供的“命令行参数”。 这个列表中的第一个参数是被调用的脚本名称,也就是说,调用 Python 解释器的“命令”(python)本身并没有被加入这个列表当中。这个地方要注意一下,因为这一点跟 C 程序的行为
文章目录sys.stdin输入操作1.只输入一个参数2.同一行输入几个不同的参数3.多行输入不同参数4.输入矩阵5.输出数据处理 本文为了便于在数据结构算法题中方便输入输出,便小总结了一下 sys.stdin输入操作 1.只输入一个参数 import sys # 这里得到的变量s返回的是一个字符串 s = sys.stdin.readline() # 将字符串转换为整型 m = int(s) 这里的变量s返回的是字符串,如果要转换成数字的话,需要进行一个整型转换。 2.同一行输入几个不同的参数
在 ipython3 中定义一个 字符串,例如:hello_str = ""输入 hello_str. 按下 TAB 键,ipython 会提示 字符串 能够使用的 方法 如下:In [1]: hello_str. hello_str.capitalize hello_str.isidentifier hello_str.rindex hello_str.casefold hel...
转自:http://www.weidianyuedu.com/content/0013137310000.html 下面是四种Python逐行取文件内容的方法, 并分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可。 方法一:readline函数 #-- coding: UTF-8 -- f = open("/pythontab/code.txt") # 返回一个文件对象 line = f.readline()
int a,b,c; //输入三个整数 printf("请输入三个整数:%\n"); //每次输入以Enter键结束 scanf("%d%d%d",&a,&b,&c); //输入变量 if(a<b) //比较大小 a=b; //把数值大的那一个数给a if(a&l