2024-1-29,卡码网第1题 A+B
对卡码网语言基础课前12题进行补充。
目录
1. 题目描述
题目输入给定若干组的数据(包含 a 和 b),目标是输出 a+b 的和。每一行有一组 a+b ,对于输出要求,每一行只输出一组结果。
2. 代码实现
2.1 读取
对于非核心代码模式的题目,应当知道如何读取输入数据。力扣的题目使用核心代码模式,做题者无需操心输入数据的读取,只需要将解题思路写成代码即可。如何在核心代码前面添加读取数据的功能,这道题提供了一种方法,并且此方法采用 try 函数。
try函数
try和except,通常是一起用的,是一个处理程序异常的函数。当程序没有异常时执行 try 部分的代码,当程序有异常了,则执行except。示例如下图所示。
这个例子中,是一个用来计算两数商的程序,如果输入不是有效整数,会引发 ValueError 异常;如果分母为零,会引发 ZeroDivisionError异常。相应的 except 语句在捕捉到异常后会运行其中的代码。
就 try 和 except 来说,很像条件语句,只不过他们是用来捕捉异常的。
try:
num1 = int(input("Enter a numerator: "))
num2 = int(input("Enter a denominator: "))
result = num1 / num2
except ValueError:
print("Invalid input. Please enter a valid number.")
except ZeroDivisionError:
print("Cannot divide by zero.")
else:
print("Result: ", result)
2.2 具体代码
在无限循环中,使用 try 和 except 进行循环跳出的操作。当输入数据为空时,则为异常,跳出当前循环。代码中的except 该行语句能够捕捉所有的异常。
while True: # 进入循环
try:
a, b = map(int, input().split()) # 读取每一组的a和b
ans = a + b # 计算 a+b 的和
print(ans) #打印
except: #没有输入,退出循环
break
3. 总结
第一道题,是让练习者学到如何读取输入数据、如何处理输入异常的一道题。使用无限循环结构,并在该代码块下使用 try 和 except 是读取输入数据的一种常用方法。
本人所用代码编辑器为 VS Code,刷题网站为卡码网