- 基本可以通过sys.stdin来实现读取输入
- 通过判断len(input())当前行长度来跳出程序。默认会读取回车,则若是空行接回车,则长度为1;若通过input().strip()则可以去除首尾的回车键和空格键,则此时长度为0。
- 自己的练习记录
1、求a + b
描述:不知道一共多少行,每输入一行,输出结果
'''
while True:
try:
a = input().split()
print(int(a[0])+int(a[1]))
except:
break
'''
import sys
for line in sys.stdin:
if len(line) != 0 and line != '\n':
l = line.split()
a, b = int(l[0]), int(l[1])
# a, b = map(int,line.split())
print(a + b)
else:
break
运行:
2、求a + b
描述:知道多少行。第一行先输入行数n,下面一共计算n次a+b
n = int(input())
for i in range(n):
# nums = input().split(' ')
a, b = map(int, input().split())
print(a + b)
运行:
3、求a + b:
描述:不知道多少行,在过程中若结果为0,则停止输入
import sys
for line in sys.stdin:
if len(line) != 0 and line != '\n':
a, b = map(int, line.split())
if a + b == 0:
break
else:
print(a + b)
else:
break
运行:
4、求a + b + c + …
描述:不知道多少行。每行第一个数n,表示当前行后面的n个数相加,当n=0时结束输入
import sys
for line in sys.stdin:
l = line.split()
l = list(map(int, l))
if l[0] == 0:
break
else:
print(sum(l[1:]))
运行:
5、求a+b+c+…
描述:知道多少行。第一行输入行数n,之后一共输入n行,每行的第一个数表示该行要计算多少个数的和。
n = int(input())
for i in range(n):
l = list(map(int, input().split()))
print(sum(l[1:]))
运行:
6、求a+b+c+…
描述:不知道多少行。每行第一个数n,表示需要计算后面n个数的和
while True:
try:
l = list(map(int, input().split()))
print(sum(l[1:l[0] + 1]))
except:
break
运行:
7、求a+b+c+…
描述:不知道多少行。求每行的和
while True:
try:
l = list(map(int, input().split()))
print(sum(l))
except:
break
运行:
不设置标志,无法结束?(判断读取的输入是否len为1:只读取了回车)
8、对字符串排序
描述:一共两行。第一行为数n,第二行则有n个字符,对这组字符排序
n = int(input())
s = list(input().split())
s = sorted(s)
print(' '.join(s))
运行:
9、对字符串排序
描述:不知道多少行。对每行的字符串排序
import sys
for line in sys.stdin:
if len(line) == 1:
break
else:
temp = list(line.split())
print(' '.join(sorted(temp)))
运行:
10、对字符串排序
描述:不知道多少行。对每行的字符串排序,用’,'隔开
import sys
for line in sys.stdin:
line = line.strip()
if len(line) == 0:
break
else:
temp = list(line.split(','))
print(','.join(sorted(temp)))
运行: