ACM模式下输入输出

ACM模式下输入输出

对于传统ACM的OJ模式题目, 程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果。

注意事项:

1、在线编程, 需要导入sys, 利用sys.stdin.strip().readline().split()读取数据, 一行这样的代码, 仅仅代表读取一行, 如果需要读取多行,可以用多行这样的代码, 或者用while True循环读取。

2、牛客结果以print打印的结果为准

3、充分考虑代码的复杂度, 能简洁就简洁

方式1:

1、从控制台输入若干数字, 并以空格分隔

2、输出结果为以空格分隔的字符串

def in_put():
    num = raw_input()
    num2 = num.split(' ')
    for i in range(len(nums2)):
        num2[i] = int(num2[i])
    return num2

def out_put():
    s = " ".join(str(i) for i in x)
    return s
方式2:

牛客网推荐使用sys.stdin.readline()形式输入, 输出用print()

readline()从文件读取整行,包括’\n’字符,

strip()只能用于移除字符串开头和结尾指定的字符(默认为空格或换行符)或字符序列

split()默认分割所有的空字符, 包括空格、换行(\n)、制表符(\t)等,返回分割后的字符串列表。

读一行输入:(对于输入只有一行的可以这样读)

import sys 
s = sys.stdin.readline().strip()
print(s)

如果这一行中有多个值可以通过split分割成列表

import sys
s = sys.stdin.readline().strip().split(' ')
print(s) 

读多行:

import sys
data = []
while True:
    s = sys.stdin.readline().strip()
    if not s:
        break
    data.append(s)
print(data)

读单个数字

n = int(input())

或者

import sys
n = int(sys.stdin.readline().strip())

读两个数字

import sys
m, n = map(int, sys.stdin.readline().strip().split())

读多个数字

import sys
data = list(map(int, sys.stdin.readline().strip().split()))

输出

对于[‘1’, ‘2’, ‘3’, ‘4’]这样的格式要求变成1 2 3 4

a = ['1', '2', '3', '4']
print(''.join(a)) # 引号中没有空格, 输出为1234
print(' '.join(a)) # 引号中有空格, 输出为1 2 3 4

你可能感兴趣的:(刷题,c++,python,开发语言)