oj输入输出

时间:2025-03-09 18:37:16

1.单行有多个数时:

  1. a=input().split()
  2. li=[]
  3. for i in a:
  4. (i)
  5. li=list(map(int,input().split()))

2.多行输入(不确定几行)————while True:(搭配异常处理try,except)

3.求a+b的和

# 本题为考试单行多行输入输出规范示例,无需提交,不计分。

import sys

for line in :

    a = line.split()                 a=list(map(int,()))

print(int(a[0]) + int(a[1]))             print(a[0]+a[1])  

4.给出n阶方阵里所有的数,求方阵里所有数的和

# 本题为考试多行输入输出规范示例,无需提交,不计分。

import sys

if __name__ == "__main__":

    n = int(sys.stdin.readline().strip())      # 读取第一行的n

    ans = 0

    for i in range(n):

        line = ().strip()    # 读取每一行

        values = list(map(int, ()))   # 把每一行的数字分隔后转化成int列表

        for v in values:

            ans += v

print(ans)

5.根据n确定的行数

n=int(input())

for i in range(n):

a=list(map(int, input().split()))

6.多组输入,且根据n确定的行数

while 1:

n,m=map(int,input().split())

res=[]

for i in range(m):

a,b,c=map(int,input().split())

if c==1:

r=[a,b] if a<b else [b,a]

(r)

s=set()

(1)

()

for i in res:

if i[0] in s:

(i[1])

print(len(s)-1)

7.字符串排序

多个测试用例,每个测试用例一行。每行通过空格隔开,有n个字符,n<100;对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开.

a c bb                a bb c

f dddd   ——————dddd f

nowcoder            nowcoder

输出的每一行后面没有换行符

n=int(input())

import sys

for i in :

    i=()

    ()

print(' '.join(i))

输出的每一行后面有换行符且输入为多组时:用while

a,c,bb                   a,bb,c

f,dddd  ———————— dddd,f

nowcoder                nowcoder

while True:

    try:

        i=list(input().split(','))

        ()

        print(','.join(i))

    except:

        break

8 .  [3,2,4],6     #当传入是列表和数字的字符时

import sys

li = ().strip()     #获取形如‘[3,2,4],6’的字符串

n= int((',')[-1])    #得到数字6,split分隔自动用列表保存

numbers = list(map(int, ('[')[1].split(']')[0].split(',')))  #分隔获取中括号的内容,再进行分割得到[3,2,4]