前面的话
本文对应的是牛客OJ在线编程常见输入输出练习训练的python答案,主要内容就是处理数据的输入和输出,在leetcode刷题的时候我们只需要编写函数,不用处理输入和输出,这个训练就是专门训练这些的,牛客的题解做的并不好,看起来很不方便,所以我把python的整理了出来。
A+B(1)
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。
输出描述:
输出a+b的结果
示例1
输入例子:
1 5 10 20
输出例子:
6 30
import sys
input = sys.stdin.read()
data = input.splitlines()
for line in data:
if line.strip():
a, b = map(int, line.split())
print(a + b)
A+B(2)
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100) 接下来每行包括两个正整数a,b(1 <= a, b <= 1000)
输出描述:
输出a+b的结果
示例1
输入例子:
2 1 5 10 20
输出例子:
6 30
import sys
input = sys.stdin.read
data = input().split()
t = int(data[0])
index = 1
results = []
for _ in range(t):
a, b = map(int, data[index: index + 2])
results.append(a + b)
index += 2
for result in results:
print(result)
A+B(3)
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
示例1
输入例子:
1 5 10 20 0 0
输出例子:
6 30
import sys
input = sys.stdin.read
data = input().splitlines()
for line in data:
a, b = map(int, line.split())
if a == 0 and b == 0:
break
print(a + b)
A+B(4)
输入描述:
输入数据包括多组。 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。 接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
4 1 2 3 4 5 1 2 3 4 5 0
输出例子:
10 15
import sys
input = sys.stdin.read()
data = input.splitlines()
for line in data:
numbers = list(map(int, line.split()))
if numbers[0] == 0:
break
sum_result = sum(numbers[1:])
print(sum_result)
A+B(5)
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。 接下来t行, 每行一组数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
2 4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
import sys
input = sys.stdin.read()
data = input.splitlines()
t = int(data[0])
results = []
for i in range(1, t + 1):
numbers = list(map(int, data[i].split()))
sum_result = sum(numbers[1:])
results.append(sum_result)
for result in results:
print(result)
A+B(6)
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
import sys
input = sys.stdin.read()
data = input.splitlines()
for line in data:
numbers = list(map(int, line.split()))
sum_result = sum(numbers[1:])
print(sum_result)
A+B(7)
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
1 2 3 4 5 0 0 0 0 0
输出例子:
6 9 0
import sys
input = sys.stdin.read
data = input().splitlines()
for line in data:
if line.strip():
numbers = list(map(int, line.split()))
sum_result = sum(numbers)
print(sum_result)
字符串排序(1)
输入描述:
输入有两行,第一行n 第二行是n个字符串,字符串之间用空格隔开
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
示例1
输入例子:
5 c d a bb e
输出例子:
a bb c d e
import sys
input = sys.stdin.read
data = input().splitlines()
n = int(data[0])
strings = data[1].split()
sorted_strings = sorted(strings)
print(' '.join(sorted_strings))
字符串排序(2)
输入描述:
多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
示例1
输入例子:
a c bb f dddd nowcoder
输出例子:
a bb c dddd f nowcoder
import sys
input = sys.stdin.read
data = input().splitlines()
results = []
for line in data:
words = line.split()
sorted_words = sorted(words)
sorted_line = ' '.join(sorted_words)
results.append(sorted_line)
for result in results:
print(result)
字符串排序(3)
输入描述:
多个测试用例,每个测试用例一行。 每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
示例1
输入例子:
a,c,bb f,dddd nowcoder
输出例子:
a,bb,c dddd,f nowcoder
import sys
input = sys.stdin.read
data = input().splitlines()
results = []
for line in data:
words = line.split(',')
sorted_words = sorted(words)
sorted_line = ','.join(sorted_words)
results.append(sorted_line)
for result in results:
print(result)