本文为了便于在数据结构算法题中方便输入输出,便小总结了一下
sys.stdin输入操作
1.只输入一个参数
import sys
# 这里得到的变量s返回的是一个字符串
s = sys.stdin.readline()
# 将字符串转换为整型
m = int(s)
这里的变量s返回的是字符串,如果要转换成数字的话,需要进行一个整型转换。
2.同一行输入几个不同的参数
import sys
s = [int(i) for i in sys.stdin.readline().split()]
补充:如果input的话
# 第一种,,假如一行输入两个参数
s = input()
si = s.split(' ')
n = int(si[0])
m = int(si[1])
#或者使用map
#n, m = map(int, input().split())
# 第二种,一行输入多组参数
x = [int(i) for i in input().split()]
#或者使用map
# x = list(map(int, input().split()))
3.多行输入不同参数
import sys
data = sys.stdin.readlines()
#提取纵坐标
x = [int(i) for i in data[1].split()]
y = [int(i) for i in data[2].split()]
注意:这里是readlines(readline的复数),因为你要读取多行嘛,感觉回到了万恶的英语语法:)
还有一个就是输入截止命令不是回车键,而是Ctrl+d,兄弟可以试一下
4.输入矩阵
sys.stdin.readlines操作
import sys
data = sys.stdin.readlines()
# n为data的行数
n = len(data)
# 建一个空列表用来添加每一行
a = []
for i in range(n):
a.append([int(i) for i in data[i].split()])
print(a)
验证结果
输入:
1 2 3
4 5 6
输出:
[[1, 2, 3], [4, 5, 6]]
5.输出数据处理
a = [1,2,3]
print(' ',join(str(i) for i in a))
join只能连接字符串
输出结果:
1 2 3