卡码网语言基础课 | 1. A+B Ⅰ

281 阅读3分钟
题目链接

kamacoder.com/problempage…

题目描述

你的任务是计算a+b。

输入描述

输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。

输出描述

对于输入的每对a和b,你需要依次输出a、b的和。

如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。

输入示例
3 4
11 40
输出示例
7
51

思路:

  1. 输入的数必须是在同一行,且这一行只有两个数字时它才会计算
    • 有输入就会使用到input()函数,且它得到的值是字符串
    • 用split()函数会将得到的字符串通过空格进行分隔
    • 因为一行只接受两个数字a,b相加,所以只用两个数组来分别接收他们的值
    • 将字符串的数据类型转化成数值类型,然后相加
  2. 输入一系列的a,b且只要是每一行都只有a,b它就会无限的进行相加:
    • 无限循环的运行模式,就会用到while循环
    • 找出循环的终止条件——输入停止则循环终止
# while True表示循环
while True:
    # 尝试执行这里的程序,遇到异常时执行except中的程序
    try:
    # 将输入的字符串分割成字符列表
        data = input().split()
    # 取得第一位和第二位元素后将之转为int类型,并相加
        res = int(data[0])+int(data[1])
    # 打印结果res
        print(res)
    except:
    # 遇到异常时,退出循环
        break

知识点:

  • input()函数输出的数永远是字符串类型,即使你输入的是数字123,它得到的也是字符串123,但可以用int()函数将它转化成数值类型
  • split()方法用于将一个字符串分割成多个小的子字符串,并返回一个列表,列表包含分割后的子字符串。默认情况下,split()方法使用空格字符作为分隔符,将字符串分成单词。你也可以指定自定义的分隔符作为参数。
  • while循环是一种在满足特定条件重复执行代码块的控制结构,你可以通过设置while循环的条件部分为真(布尔值True),这样循环将一直进行,直到你使用break语句来终止循环 image.png
  • 在while True的控制下,执行输入、计算、输出的三行代码会持续不断的运行,比如上题你输入一行数据,程序就处理一行数据,但是数据的输入是不会一直进行下去的,当输入结束时,循环也应该终止掉。这时就可以使用try代码块来进行处理,try中的代码会被尝试执行,如果没有发生错误,则正常执行,用户停止输入后,输入的内容不能正确地分隔两个整数,或者其他可呢的错误发生,就会引起程序异常,这时就会由except捕获异常并执行异常处理代码
while True:
    try:
        #尝试执行这里的程序
    except:
        #捕获异常,执行异常处理代码
        break