python3 在线-荐python3在线编程输入输出总结

A+B

类型一:多组输入,组数未知

输入:输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。

输出:输出a+b的结果

解读:一行是一组输入,有多行输入,输出有多行输出

# eg:

# 输入

1 5

3 4

# 输出

6

7

法1:使用sys

import sys

for line in sys.stdin:

# strip()不带参数,默认是清除两边的空白符

# split()通过指定分隔符对字符串进行切片,默认以空格为分隔符

a = line.strip().split()

a = [int(x) for x in a]

print(sum(a))

# 一行只有2个数

while True:

try:

# map(function, iterable, ...)

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

print(a + b)

except EOFError:

break

# 扩展:一行有多个数

while True:

try:

l = list(map(int, input().strip().split()))

print(sum(l))

except EOFError:

break

类型二:多组输入,组数t已知

输入:输入第一行包括一个数据组数t(1 <= t <= 100);接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)

输出:输出a+b的结果

解读:第一行是组数t,之后是多组输入,输出为多行输出

# eg:

# 输入

2

1 5

3 4

# 输出

6

7

法1:使用sys

import sys

# sys.stdin 当没有接受到输入结束信号就一直遍历每一行

for line in sys.stdin:

data = list(map(int,line.strip().split()))

if len(data)==1:

continue

else:

print(data[0]+data[1])

法2:使用内置函数

# 一行只有2个数

# 先输入行数t,然后再进行其他编码

t=int(input())

for i in range(t):

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

print(a+b)

# 扩展:一行有多个数

t=int(input())

for i in range(t):

l=list(map(int,input().strip().split()))

print(sum(l))

类型三:多组输入,有终止条件

输入:输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入。

输出:输出a+b的结果

解读:多行输入,有终止条件,输出为多行输出

# eg:

# 输入

1 5

3 4

0 0

# 输出

6

7

法1:使用sys

import sys

for line in sys.stdin:

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

if a == [0,0]:

break

print(sum(a))

法2:使用内置函数

# 一行只有2个数

# 添加终止条件

while True:

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

if n == 0 and m == 0:

break

print(n + m)

# 扩展:一行有多个数 方法和类型一、二里面的扩展思路一样 用list()函数即可

类型四:多组输入,有终止条件,每行个数已知

输入:

输入数据包括多组。

每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。

接下来n个正整数,即需要求和的每个正整数。

输出:每组数据输出求和的结果。

解读:多组输入,有终止条件,每行第一个数为需要带入计算的整数的个数

# eg:

# 输入

4 1 2 3 4

5 1 2 3 4 5

0

# 输出

10

15

法1:使用sys

# 使用readline()函数

import sys

while True:

line = sys.stdin.readline().strip()

if line == "0":

break

else:

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

print(sum(lista[1:]))

# 思路是读取一行,然后将第一个数和后面的分开

while True:

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

if len(l) == 1 and l[0] == 0:

break

else:

print(sum(l[1:]))

类别五:多组输入,有组数t,求一系列和

输入:

输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。

接下来t行, 每行一组数据。

每行的第一个整数为整数的个数n(1 <= n <= 100)。

接下来n个正整数, 即需要求和的每个正整数。

输出:每组数据输出求和的结果

解读:多行输入,有组数t,一行有多个数,求和;输出为多行输出(是类型二的扩展)

# eg:

# 输入

2

4 1 2 3 4

5 1 2 3 4 5

# 输出

10

15

法1:使用sys

import sys

n = sys.stdin.readlines()

for i in n:

tmp = list(map(int,i.strip().split()))

if len(tmp) > 1:

print(sum(tmp[1:]))

法2:使用内置函数

t=int(input())

for i in range(t):

l=list(map(int,input().strip().split()))

print(sum(l[1:]))

类型六:多组输入,每行个数已知,一系列和

输入:

输入数据有多组, 每行表示一组输入数据。

每行的第一个整数为整数的个数n(1 <= n <= 100)。

接下来n个正整数, 即需要求和的每个正整数。

输出:每组数据输出求和的结果

解读:多行输入,无终止条件,输出为多行输出

# eg:

# 输入

4 1 2 3 4

5 1 2 3 4 5

# 输出

10

15

法1:使用sys

import sys

for line in sys.stdin:

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

print(sum(lists[1:]))

法2:使用内置函数

# 注意是否越界

while True:

try:

l=list(map(int,input().strip().split()))

print(sum(l[1:]))

except EOFError:

break

类型六:多组输入,一系列和

输入:

输入数据有多组, 每行表示一组输入数据。

每行的第一个整数为整数的个数n(1 <= n <= 100)。

接下来n个正整数, 即需要求和的每个正整数。

输出:每组数据输出求和的结果

解读:多行输入,无终止条件,输出为多行输出

# eg:

# 输入

1 2 3 4

1 2 3 4 5

0 0 0 0

# 输出

10

15

0

法1:使用sys

import sys

for i in sys.stdin:

l=list(map(int,i.strip().split()))

print(sum(l))

法2:使用内置函数

while True:

try:

l=list(map(int,input().strip().split()))

print(sum(l))

except EOFError:

break

字符串排序

类型一:一行字符串个数n,一行字符串

输入:

输入有两行,第一行n

第二行是n个空格隔开的字符串

输出:输出一行排序后的字符串,空格隔开,无结尾空格

# eg:

# 输入

5

c d a bb e

# 输出

a bb c d e

法1:使用sys

import sys

first_line = sys.stdin.readline()

second_line = sys.stdin.readline()

strings = second_line.strip().split()

strings.sort()

st = " ".join(strings)

print(st)

法2:使用内置函数

while True:

try:

n=int(input())

mystr=list(map(str,input().strip().split()))

mystr.sort()

print(" ".join(mystr))

except EOFError:

break

类型二:多行字符串,空格分隔

输入:

多个测试用例,每个测试用例一行。

每行通过空格隔开,有n个字符,n<100

输出:对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

# eg:

# 输入

a c bb

f dddd

nowcoder

# 输出

a bb c

dddd f

nowcoder

法1:使用sys

import sys

for line in sys.stdin:

lists = line.split()

lists.sort()

print(" ".join(lists))

法2:使用内置函数

while True:

try:

mystr=input().strip().split()

mystr.sort()

print(" ".join(mystr))

except EOFError:

break

类型三:多行字符串,逗号分隔

输入:

多个测试用例,每个测试用例一行。

每行通过空格隔开,有n个字符,n<100

输出:对于每组用例输出一行排序后的字符串,用’,"隔开,无结尾空格

# eg:

# 输入

a,c,bb

f,dddd

nowcoder

# 输出

a,bb,c

dddd,f

nowcoder

法1:使用sys

# strip() 需要加上

import sys

for line in sys.stdin:

lists = line.strip().split(",")

lists.sort()

print(",".join(lists))

法2:使用内置函数

while True:

try:

mystr=input().strip().split(",")

mystr.sort()

print(",".join(mystr))

except EOFError:

break

原文链接:https://blog.csdn.net/qq_21814361/article/details/105362492

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值