【卡码网语言基础课(A+B问题1)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


问题1描述

题目描述:你的任务是计算a+b。

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

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

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


一、Python基础语法

1.输入、变量

输入:在Python中,获取用户输入的内置函数是 input()。
变量:在Python中,变量可以被理解为用来存储数据值的名称。你可以将其想象为一个容器,它可以存储各种类型的数据,如数字、字符串、列表、字典等。变量的值可以在程序运行时被创建、修改和检索。

2.数据类型

数字类型:用于表示数字,包括整数和浮点数两种类型。
整数类型int:即整数值,如-1、0、1.
浮点数类型float:表示有小数点的数值,如3.14

布尔值类型bool:表示逻辑值真假,True表示真,False表示假,同时True和1相等,False和0相等,它们两个都能参与到数字类型的运算当中。

字符串类型string:字符串使用单引号’ '或者双引号" “扩起来,表示一段文本数据,比如"hello”

3.变量赋值

要在Python中创建变量,你只需为其赋值即可,编程中=往往指把右边的值赋值给左边。Python是动态类型的语言,这意味着你不需要显式声明变量的类型;Python会在赋值时自动确定类型。

# 创建变量并赋值
a = 10      # 整数
b = 3.14    # 浮点数
c = "Hello" # 字符串

在了解了变量赋值和input()的概念之后,我们就可以开始写输入的代码了。

# input()接收输入的内容,然后与变量 user_input 相关联
user_input = input()

上段代码表示将输入数据存储到变量user_input中,比如输入"hello world",就相当于把文字字符串内容存放到user_input中,这里input接收的总是字符串,就算输入123,接收的也相当于字符串123,不过可以使用int()将数据类型转换成整数型。

# int()将input()接收的字符串转换成整数
user_input = int(input()) # 输入整数3, input()接收的内容是 "3", int("3")转为整数3

此外,还可以在input里填充一些信息,作为用户输入的提示:

user_input = input("请输入一些文本: ")

4.输出

在Python中,输出通常指的是将数据发送到标准输出设备(如屏幕)的过程。这可以通过使用内置的 print() 函数完成,它是最常用的输出方式。print() 函数可以输出字符串、数字、或更复杂的数据结构如列表和字典。

print("Hello, world!")  # 输出字符串
print(123)              # 输出整数
print(3.14)             # 输出浮点数
print(True)             # 输出布尔值

print()函数可以和input()函数结合起来,实现和用户的交互。

name = input("请输入您的名字: ") # 提示用户输入名字
print(name) # 在屏幕上输出你之前输入的内容

二、计算a+b

1.问题分析

假如只有1组数据,即只需要一个a和一个b,通过空格隔开,首先应使用input()接收输入

data = input()

input()遇到空格不会停止接收输入,而且接收的是字符串,可以使用split方法分割字符串。

# input()表示输入的内容,input().split()表示将输入的内容根据空格拆分。
data = input().split()

在Python中,字符串的 split() 方法用于将字符串分割成一个列表。通过指定一个分隔符,方法会在每次遇到这个分隔符时切割字符串。如果不指定分隔符,默认会使用任何空白字符(如空格、换行符等)作为分隔符。

text = "hello world"
result = text.split()
print(result)  # 输出: ['hello', 'world']

text = "apple,banana,cherry"
result = text.split(',')
print(result)  # 输出: ['apple', 'banana', 'cherry']

如何拿到a和b?可以通过列表进行访问。列表通过索引[ ]进行访问,并且索引从0开始,索引0表示第一个元素,索引1表示第二个元素,即通过data[0]和data[1]可以分别拿到第一个元素"a"和第二个元素"b"。再将res输出即可,完整的代码如下:

data = input().split() # 将输入字符串根据空格进行分割,得到数据列表
res = int(data[0])+int(data[1]) # 拿到元素后,进行数据类型转换,累加后赋值给变量res
print(res)

2.循环输入和输出

上述代码并不能满足多组数据计算要求,需要使用循环。
while 循环是一种在满足特定条件时重复执行代码块的控制结构,你可以通过设置while循环的条件部分为真(布尔值True), 这样,循环将一直执行,直到你使用break语句来终止循环。

while True:
    data = input().split()
    res = int(data[0])+int(data[1])
    print(res)

在while True的控制下,执行输入、计算、输出的三行代码会持续不断的运行,你输入一行数据,程序就处理一行数据,但是数据的输入是不会一直进行下去的,当输入结束时,循环也应该终止掉。

这可以使用try代码块来进行处理,try中的代码会被尝试执行,如果没有发生错误,则正常执行,用户停止输入后,输入的内容不能正确地分割成两个整数,或者其他可能的错误发生,就会引起程序异常,这时就会由except捕获异常并执行异常处理代码

while True:
    try:
    # 尝试执行这里的程序
    except:
    # 捕获异常,执行异常处理代码
        break

这里的break是一个在循环内部使用的语句,用于终止当前循环并继续执行循环之后的代码,通常用于在循环中的某个条件得到满足时,提前结束循环,这里使用break跳出循环,结束程序的执行。

所以本道题目完整的代码如下:

# while True表示循环
while True:
    # 尝试执行这里的程序,遇到异常时执行except中的程序
    try:
        # 将输入的字符串分割成字符列表
        data = input().split()
        # 取得第一位和第二位元素后将之转为int类型,并相加
        res = int(data[0])+int(data[1])
        # 打印结果res
        print(res)
    except:
        # 遇到异常时,退出循环
        break

扩展

1.多重赋值

除了a = 10这种赋值方式外,Python还允许同时为多个变量进行赋值操作,这称为多重赋值,具体有以下几种。

# 1. 多个变量同时赋相同的值
a = b = c = 42  # 变量 a、b 和 c都被赋予了相同的值 

# 2. 多个变量同时赋不同的值
x, y, z = 1, 2, 3 # 变量 x 被赋值为1,变量 y 被赋值为2,变量 z 被赋值为3

# 3. 还可以使用多重赋值获取列表中的值。
a, b = [1, 2] # 将列表中的元素按照顺序赋给 a 和 b,a 的值为 1,b 的值为 2。

2.模块

在Python中,模块是一个包含Python定义和声明的文件。模块的主要目的是帮助组织代码,使其更加模块化和可复用。一个模块可以定义函数、类和变量,也可以包括可执行的代码。

创建一个模块非常简单,只需将一些代码保存到以 .py 结尾的文件中即可,从而将一个完整的程序分解为一个一个小的模块(一个python文件就是一个模块),通过将模块组合和复用,从而搭建出一个完整的程序。

而且,Python中有许多内置的模块,比如math、sys等,这些模块提供了一些内置功能方便使用,比如math模块就提供了许多有用的数学运算。

需要注意的是,使用模块前,要使用import语句来导入:

# 导入math模块
import math
# 使用模块中的定义的变量或者函数的语法格式为:模块.变量/函数
print(math.sqrt(25)) # 使用math模块中的sqrt函数, 表示开平方根

或者你还可以使用from语句导入模块中的特定函数、变量,然后直接使用。

# 从 math 模块中 导入 sqrt
from math import sqrt
print(sqrt(25))  # 直接使用sqrt函数,不用在前面加上 math

3.主模块

在Python中,主模块是执行Python程序的入口点, 一个程序只会有一个主模块,主模块的名称是__main__, 它的书写有一个固定的格式:

# 表示这是主模块
if __name__ == "__main__":
    # 主模块程序
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值