引言
Python刷题的输入输出模版,目前大多数笔试都是ACM模式,如果习惯了力扣的核心代码模式,需要笔试前多加练习! Python主要掌握input()
、input().split()
、x for x in input().split()
的使用。
本文均为Python3的代码。
计算a+b
1.
输入: 包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
输出: a+b的结果
while True:
try:
a, b = map(int, input().split())
print(a + b)
except:
break
2.
输入:
第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
输出: a+b的结果
T = int(input())
for _ in range(T):
a, b = map(int, input().split())
print(a + b)
3.
输入: 包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出: a+b的结果
while True:
try:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
print(a + b)
except:
break
4.大数求和
输入:
输入数据包括多组。
每组数据一行,包含两个字符串形式的非负整数
输出: 对于每组测试数据,计算它们的和,输出字符串。
while True:
try:
words = [x for x in input().split()]
s1 = words[0]
s2 = words[1]
maxlen = len(s1)
if maxlen < len(s2):
maxlen = len(s2)
s1 = s1.zfill(maxlen)
s2 = s2.zfill(maxlen)
carry = 0
sum = ''
for i in range(-1,-maxlen-1,-1):
temp = ord(s1[i]) +ord(s2[i]) - 96 + carry
carry = temp // 10 # 整除用 //
temp = temp % 10
sum+=str(temp)
if carry != 0:
sum+=str(carry)
print(sum[::-1])
except:
break
一行多个数字求和
1.
输入:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出: 每组数据输出求和的结果
while True:
try:
nums = [int(x) for x in input().split()]
if nums[0] == 0:
break
print(sum(nums[1: ]))
except:
break
2.
输入:
第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出: 每组数据输出求和的结果
T = int(input())
for _ in range(T):
nums = [int(x) for x in input().split()]
print(sum(nums[1: ]))
3.
输入:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出:每组数据输出求和的结果
while True:
try:
nums = [int(x) for x in input().split()]
print(sum(nums[1: ]))
except:
break
4.
输入:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出: 每组数据输出求和的结果
while True:
try:
nums = [int(x) for x in input().split()]
print(sum(nums[1: ]))
except:
break
字符串排序
1.
输入:
输入有两行,第一行n
第二行是n个空格隔开的字符串
输出:
输出一行排序后的字符串,空格隔开,无结尾空格
n = int(input())
words = [x for x in input().split()]
words.sort()
for word in words:
print(word, end = ' ')
print()
2.
输入:
多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符串,n<100
输出:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
while True:
try:
words = [x for x in input().split()]
words.sort()
for word in words:
print(word, end = ' ')
print()
except:
break
3.
输入:
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符串,n<100
输出:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
while True:
try:
words = input().split(',')
words.sort()
for word in words[:-1]:
print(word, end = ',')
print(words[-1])
except:
break