编程机试acm模式输入输出总结(Python)
1. A + B
while True:
try:
a, b = map(int, input().split())
print(a + b)
except EOFError:
break
import sys
for line in sys.stdin:
a, b = map(int, line.split())
print(a + b)
2.A+B(2)
t = int(input())
for _ in range(t):
a, b = map(int, input().split())
print(a + b)
3.A+B(3)
while True:
a, b = map(int, input().split())
if a == b == 0:
break
else:
print(a + b)
4.A+B(4)
while True:
arr = list(map(int, input().split()))
if len(arr) == 1 and arr[0] == 0:
break
print(sum(arr[1:]))
5.A+B(5)
t = int(input())
for _ in range(t):
arr = list(map(int, input().split()))
print(sum(arr[1:]))
6.A+B(6)
import sys
for line in sys.stdin:
arr = list(map(int, line.split()))
print(sum(arr[1:]))
while True:
try:
arr = list(map(int, input().split()))
print(sum(arr[1:]))
except EOFError:
break
7.A+B(7)
import sys
for line in sys.stdin:
arr = list(map(int, line.split()))
print(sum(arr))
while True:
try:
arr = list(map(int, input().split()))
print(sum(arr))
except EOFError:
break
8.A+B(8)
import sys
for line in sys.stdin:
a, b = map(int, line.split())
print(a + b)
while True:
try:
a, b = map(int, input().split())
print(a + b)
except EOFError:
break
9.字符串排序(1)
n = int(input())
strs = input().split()
strs.sort()
print(*strs)
10.字符串排序(2)
import sys
for line in sys.stdin:
strs = line.split()
strs.sort()
print(*strs)
while True:
try:
strs = input().split()
strs.sort()
print(*strs)
except EOFError:
break
11.字符串排序(3)
import sys
for line in sys.stdin:
strs = line.strip().split(',')
strs.sort()
print(*strs, sep=',')
while True:
try:
strs = input().split(',')
strs.sort()
print(*strs, sep=',')
except EOFError:
break
12.input() 和 sys.stdin 区别
在Python中,line = input()
函数和for line in sys.stdin
语句都可以用于从标准输入中读取用户的输入,但它们之间存在一些区别:
- 使用方式:
input()
函数是一个内置函数,用于从标准输入(通常是终端)读取用户输入的一行文本,并返回该文本作为字符串。for line in sys.stdin
语句通常用于在脚本中连续读取标准输入的多行内容。需要先导入sys
模块,然后使用sys.stdin
来表示标准输入流,通过迭代循环读取标准输入的每一行。
- 适用场景:
input()
函数通常用于简单的交互式输入,比如提示用户输入一些数据或参数,并接收用户的回答。for line in sys.stdin
通常用于需要读取大量标准输入数据的情况,例如处理文件输入,处理管道输入,或者与其他程序进行交互时。
- 处理方式:
input()
函数会阻塞程序的执行,直到用户输入并按下回车键,然后返回输入的字符串。for line in sys.stdin
语句是一个迭代过程,会逐行读取标准输入,不会阻塞程序的执行,而是在读取完所有行之后结束循环。
- 输入结束条件:
- 对于
input()
函数,通常根据具体的问题来判断用户输入的结束条件,比如输入空行或特定字符等。 - 对于
for line in sys.stdin
语句,通常在读取完所有标准输入后,会自动结束循环。
- 对于
- 换行符不同
-
- 使用
input()
函数读入的行不包含换行符。该函数会读取用户输入的一行内容,并且会自动去除行尾的换行符(\n
)。因此,直接调用input()
函数读取的行不需要额外处理换行符。 - 使用
sys.stdin
读入的行会保留换行符。在使用for line in sys.stdin
循环时,每次迭代得到的line
变量都包含行尾的换行符(\n
)。
- 使用
总的来说,input()
函数适用于简单的单行输入场景,而for line in sys.stdin
适用于需要连续读取多行输入的场景。