牛客网、赛码网在线笔试输入输出练习简洁版python3

1

输入描述:输入包括两个正整数a,b,输入数据包括多组
输出描述:输出a+b的结果
示例:
输入:
1 5
10 20
输出:
6
30

解法一:(错误解法)

while True:
    a,b=map(int,input().split())
    print(a+b)

解法二

while True:
    try:
        a,b=map(int,input().split(' '))
        print(a+b)
    except:
        break

2

在这里插入图片描述

解法一:错误解法

错误原因在于无需使用 while True

while True:
	n=int(input())
	for _ in range(n):
	    a,b=map(int,input().split())
	     print(a+b)

解法二

while True:
    try:
        n=int(input())
        for _ in range(n):
            a,b=map(int,input().split())
            print(a+b)
    except:
        break

解法三

n = int(input().strip())
for _ in range(n):
    nums=[int(c) for c in input().split()]
    print(sum(nums))   

解法四

n=int(input().strip())
for _ in range(n):
    a,b=map(int,input().split())
    print(a+b)

3

在这里插入图片描述

解法一

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

4

在这里插入图片描述

解法一

while True:
    nums = [int(c) for c in input().split()]
    if nums[0] == 0: break
    print(sum(nums[1:]))        

解法二

while True:
    s = input()
    if s == "0":
        break
    else:
        a = [int(i) for i in s.split()]
        print(sum(a[1:]))

5

在这里插入图片描述

解法一

n = int(input())
for _ in range(n):
    x = [int(x) for x in input().split()]
    print(sum(x[1:]))

解法二

while True:
    try:
        t = int(input())
        for i in range(t):
            n = list(map(int,input().split()))
            sum = 0
            for j in n:
                sum = sum + j
            print(sum-n[0])
    except:
        break

解法三

n = int(input())
for i in range(n):
    print(sum(list(map(int, input().split()))[1:]))    

6

在这里插入图片描述

解法一

while True:
    try:
        nums = list(map(int, input().split()))
        print(sum(nums[1:]))
    except:
        break

解法二: 错误解法

注意,此处说一下这里为何需要 try except。原因在于 1<=n。当n为0时,后面的split()函数便会报错。第 7 题必须使用try execpt函数的原因也是如此。

while True:    
    x = [int(x) for x in input().split( )]
    print(sum(x[1:]))

正确解法:

while True:
    try:
        x = [int(x) for x in input().split( )]
        print(sum(x[1:]))
    except:
        break

7

在这里插入图片描述

解法一

while True:
    try: 
        nums = [int(x) for x in input().split( )]
        print(sum(nums))
    except:
        break

解法二

while True:
    try:
        nums=list(map(int,input().split()))
        print(sum(nums))
    except:
        break

温馨提示,这道题如果不加try except则又会报错。

8

在这里插入图片描述

n = int(input())
a = []
nums = 0
for _ in range(n):
    a.append(list(map(int, input().rstrip().split())))
for i in range(n):
    nums += sum(a[i])
print(nums)#思路是将输入数据都加到一个列表中,最后会得到一个二维列表,再遍历并对这个二维列表求和即可。

9

输入描述:
多组测试数据,第一行输入一个正整数T,代表测试数据组数。
对于每组测试数据,输入两个正整数n。n代表接下来共有几行数据。
输出描述:
每组数据的和。
示例:
输入:
2
3
1 2
2 3
3 4
4
1 2
2 3
3 4
4 5
输出描述:
15
24

N = int(input())
for _ in range(N):
    n = int(input())
    a = []
    for i in range(n):
        a.append(list(map(int, input().split())))
    print(sum(map(sum, a)))#对二维列表求和的语句,一行代码搞定
		

总结

什么时候用while True:

当每输入一行,则需要输出一行,且不固定多少行输入时,则需使用while True语句。参考 2 题型。

什么时候需要使用try except语句

参考 67

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值