acm 程序设计大赛各种输入方式(python版)

oj输入

计算 a+b 有多行

import sys

# 3 3
# 4 5
# 6 6
for line in sys.stdin:
    a,b = line.split()
    print(int(a) + int(b))

计算多行多个值的累加和

# 1,2,4,5,6
# 44,55,3,2,0
# ……
while True:
    nums = list(map(int, input().split(",")))
    print(sum(nums))
#只输入几行数据
# 1,2,4,5,6
# 44,55,3,2,0
towFlag = True
shopA = []
shopB = []
while True:
    nums = list(map(int, input().split(",")))
    if towFlag:
        shopA = nums
        towFlag = False
    else:
        shopB = nums
        break

print(shopA)
print(shopB)

两数相加 0结束

#1 5
#10 20
#0 0 表示结束

while True:
    a,b = input().split()
    if a=="0" and b=="0":
        break
        
    print(int(a) + int(b))

多行输入0结束

输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。

4 1 2 3 4
5 1 2 3 4 5
0
while True:
    nums = list(map(int, input().split()))
    if nums[0] == 0:
        break
    print(sum(nums[1:]))	# 第一个是n

计算一系列数之和

输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。

4 1 2 3 4
5 1 2 3 4 5

import sys

for line in sys.stdin:
    nums = list(map(int, line.split()))
    print(sum(nums[1:]))	# 第一个是n

字符串排序1

输入有两行,第一行n

第二行是n个字符串,字符串之间用空格隔开

输入

5
c d a bb e

输出

a bb c d e

n = int(input())
str_list = list(input().split())

s_list = sorted(str_list)
for c in s_list:
    print(c,end=" ")

字符串排序2

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

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

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

输入:

a c bb
f dddd
nowcoder

输出:

a bb c
dddd f
nowcoder

import sys

for line in sys.stdin:
    strList = list(line.split())
    strList.sort()
    for c in strList:
        print(c,end=" ")
    print()

字符串排序3

多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100

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

输入:

a,c,bb
f,dddd
nowcoder

输出:

a,bb,c
dddd,f
nowcoder

strip() 方法用于去除字符串开头和结尾处指定的字符(默认为空格或换行符)或字符序列,不会去除字符串中间对应的字符。

lstrip()方法用于去除左边(开始)的空白字符;

rstrip()方法用于去除右边(末尾)的空白字符。

import sys

for line in sys.stdin:
    strList = line.strip().split(",")
    strList.sort()
#     print(strList)
    print(",".join(strList))

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