Python:如何写输入与输出

在 Python 中调用 print 时,实际上是调用 sys.stdout.write(obj + '\n')sys.stdin.readline() 会将标准输入全部获取,包括末尾的换行符 \n,因此用 len 计算长度是包含了换行符的,用这种方法输入时可以用 strip() 来去掉换行符(或者用 sys.stdin.readline()[:-1])。

sys.stdin.readline().trip() 就等价于 input()

注意:Python 2 和 Python 3 的输入输出稍微有区别。在使用 Python 2 的时候最好用 sys.stdin 的方式读取,用 input() 对于字符串和数字相混合的输入会报错。

例如对于 S 0 这种数据,Python 2 要求对于字符串需要用引号,如 “S” 0,否则无法识别。

import sys
# strip() 去掉两端的空白符,返回 str
# split() 按照空白符分割,返回 List[str]
# map(type, x) 把列表 x 中的元素映射成类型 type
# 1. 题目没有告知多少组数据时,用 while True
while True:
    try:
        # ...
    except:
        break
        
# 2. 题目告知有 T 组数据时,用 For loop
T = int(input().strip())
for _ in range(T):
    # ...
    
    
# 3. 不同的输入
s = input().strip()  # 输入一个字符
str_ = sys.stdin.readline().strip()  # 读取一行
num = int(input().strip())  # 输入一个整数
nums = list(map(int, input().strip().split()))  # 输入一个整数列表

要是想要写完整一点可以:

import sys

if __name__ == "__main__":
    # 读取一个整数
    n = int(sys.stdin.readline().strip())
    matrix = list()
    # 读取多行保存到一个列表中, 组成一个矩阵
    for _ in range(n):
        line = sys.stdin.readline().strip()
        row = list(map(int, line.split()))
        matrix.append(row)

猜你喜欢

转载自blog.csdn.net/weixin_39679367/article/details/129913563