01第1章-1 从键盘输入两个数,求它们的和并输出【浙大版《Python 程序设计》题目集】
原题链接:预览题目详情 - 第1章-1 从键盘输入两个数,求它们的和并输出 (pintia.cn)
参考答案
a=int(input()) # 输入a的值
b=int(input()) # 输入b的值
print(a+b) # 输出a+b的值
题目分析
输入两个整数,将它们相加,然后将结果输出。
答案详解
-
输入函数
input()
:input()
函数用于从用户获取输入。在这里,两次调用input()
分别用于获取两个整数输入。 -
变量赋值:通过
a = int(input())
和b = int(input())
,将用户输入的整数值分别赋给变量a
和b
。这是基本的变量赋值操作。 -
类型转换:
int(input())
用于将输入的字符串转换为整数。因为input()
返回的是字符串,所以需要使用int()
函数将其转换为整数,以便后续进行数值操作。 -
数学运算:
a + b
执行整数相加操作,将a
和b
的值相加。 -
输出函数
print()
:print(a + b)
用于将结果打印到屏幕上。在这里,它输出了两个整数相加的结果。
知识拓展
Python语法基础
注释
注释用于解释说明某段代码的作用,便于软件程序后期的维护和调试工作。注释并不会增加可执行程序的大小,在执行程序时会忽略所有注释。
在 Python 程序中有 2 种类型的注释,分别是单行注释和多行注释。
-
单行注释
单行注释是指只在一行中显示注释内容,Python 中单行注释以
#
开头,如:#这是注释
-
多行注释
多行注释也被称为成对注释,是从 C 语言继承过来的,这类注释的标记符号是成对出现的。在 Python 程序中,有两种实现多行注释的方法。
● 第一种:用三个单引号
'''
将注释括起来。● 第二种:用三个双引号
"""
将注释括起来。例如下面是用三个单引号创建的多行注释。
''' 第一行注释 第二行注释 '''
编码
编码是指信息从一种形式或格式转换为另一种形式或格式的过程。编码在计算机、电视、遥控和通讯等方面广泛使用。
字符编码
计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。因为最早的计算机在设计时采用 8 个比特(bit)作为一个字节(byte),所以一个字节能表示的最大的整数就是 255(二进制 11111111= 十进制 255)。如果要表示更大的整数,就必须使用更多的字节。比如 2 个字节可以表示的最大整数是 65535,4 个字节可以表示的最大整数是 4294967295。
世界公认最早的编码标准是 ASCII,在里面只包含 127 个字符(包括英文字母大小写、数字和一些符号),比如大写字母 A 的编码是 65,小写字母 z 的编码是 122。但是要处理汉字显然一个字节是不够的,至少需要两个字节,而且还不能与 ASCII 编码冲突,所以我国制定了 GB2312 编码,用来把汉字编进去。在计算机系统中常用的编码格式如下。
● GB2312 编码:适用于汉字处理、汉字通信等汉字相关的应用。
● GBK 编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码。
● ASCII 编码:是对英文字符和二进制之间的关系做的统一规定。
● Unicode 编码:这是一种世界上所有字符的编码,不过它没有固定的存储方式。
● UTF-8 编码:是 Unicode Transformation Format-8 bit 的缩写,UTF-8 是 Unicode 编码的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,根据不同的符号而变化字节长度。
Python 中的编码
在默认情况下,Python 源码文件以 UTF-8 格式进行编码,所有字符串都是 Unicode 字符串。当然开发者也可以为源码文件指定不同的编码,具体格式如下所示。
code:编码格式
例如通过如下所示的代码,可以将当前源文件设置为「GB2312」编码格式:
code:GB2312
在 Python 中使用字符编码时,经常会使用到 decode
函数和 encode
函数。
-
encode
:使我们看到的直观字符转换成计算机内的字节形式。 -
decode
:把字节形式的字符转换成我们能看得懂的、直观的形式。
例如下面的代码和演示了 encode 函数的用法。
'ABC'.encode('ascii')
'中文'.encode('utf-8')
输出结果为:
b'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'
变量
变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。在计算机编程语言中,将其值在程序的执行过程中可以发生变化的量称为变量。
Python 语言中不需要单独声明变量,变量的赋值操作就是变量的声明和定义过程,=
表示赋值,如:
a = 7 #声明变量a并赋值7
print(a) #输出a的值
在 Python 中,如果想知道一个对象的类型,可以使用语句:type( thing )
,如:
a = 7 #声明变量a并赋值7
type(a) #变量a的类型为int
type(58) #数字58的类型为int
type(99.9) #数字99.9的类型为float
type('abc') #字符串abc的类型为str
以下为输出结果
<class 'int'>
<class 'int'>
<class 'float'>
<class 'str'>
类 (class)是对象的定义,在 Python 中,“类”和“类型”一般不加区分。
标识符和关键字
标识符是用来标识变量、函数、类、模块等程序实体的名称。
标识符的具体规则如下:
- 第一个字符必须是字母或下画线
_
,后面的字符可以是字母、数字或下画线。 - 区分大小写,小写 a 跟大写 A 的含义是不同的。
- 标识符不能以数字开头,除了下画线,其他的符号都不允许使用。处理下画线最简单的方法是把它们当成字母字符。区分大小写意味着标识符 foo 不同于 Foo,而这两者也不同于 FOO。
- 在 Python 3 中,非 ASCII 标识符(如汉字)也是合法的。
关键字是Python语言中的一组保留的单词,具有特殊的含义和用途,不能用作标识符。在 Python 标准库中提供了一个关键字模块:keyword module,可以输出当前 Python 版本中的所有关键字:
import keyword #导入名为keyword的所有关键字
keyword.kwlist #kwlist能够列出所有的内置的关键字
输出结果:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
对象
Python 里所有数据都是以 对象 (object)的形式存在的。对象是Python中所有数据的基本单位,每个对象都有一个唯一的身份标识符、类型和值。
对象就像一个塑料盒子,里面装的是数据。对象有不同类型,类型决定了可以对它进行的操作。值是对象所包含的数据,值可以通过赋值语句来修改或替换。
身份标识符是一个对象的唯一标识符,可以通过内置函数id()
来获取。如:
a=5 #声明并定义变量5并赋值
id(a) #获取变量a的id
可以使用is
关键字来比较两个对象的身份标识符是否相等,即判断两个对象是否指向同一个内存地址:
a = 5
b = 5
c = a
print(a is b) # False,a和b的身份标识符不同
print(a is c) # True,a和c的身份标识符相同
在上面的例子中,我们定义了两个变量a
和b
,它们的值相同,但是它们的身份标识符不同,因为它们指向不同的内存地址。我们还定义了另一个变量c
,它指向了a
的内存地址,因此,a
和c
的身份标识符相同。通过使用is
关键字,我们可以比较这三个变量的身份标识符是否相同。
需要注意的是,is
关键字和==
运算符是不同的。is
关键字用于比较两个对象的身份标识符是否相同,而==
运算符用于比较两个对象的值是否相等。
输入输出
在Python中,可以使用input()
函数获取用户的输入,并使用print()
函数输出结果。
input()
函数用于获取用户的输入,它会在控制台中显示一个提示信息,等待用户输入,用户输入完成后,input()
函数会将输入的内容作为一个字符串返回。
例如:
name = input("请输入你的姓名:")
print("你好," + name + "!")
在上面的代码中,input()
函数显示了一个提示信息请输入你的姓名:
,等待用户输入姓名,然后将用户输入的内容作为字符串赋值给变量name
。最后,使用print()
函数输出了一条问候信息。
print()
函数用于输出结果,它可以将一个或多个值输出到控制台,并自动添加换行符。例如:
print("Hello, World!")
print(1 + 2 + 3)
在上面的代码中,第一行调用print()
函数输出字符串Hello, World!
,第二行调用print()
函数输出表达式1 + 2 + 3
的结果6
。
基本数据类型
在Python中,基本数据类型包括数字类型、字符串类型、布尔类型和空值类型。
- 数字类型:数字类型包括整数、浮点数和复数三种类型,用于表示数字和数值计算。
- 字符串类型:字符串类型用于表示文本数据,可以包含任意字符和字符序列,用单引号、双引号或三引号括起来表示。
- 布尔类型:布尔类型用于表示真假值,只有两个取值,分别为
True
和False
。 - 空值类型:空值类型表示一个空值,用
None
表示,常用于表示变量未被赋值或函数返回值为空。
数字类型
在Python中,数字类型是指表示数字的数据类型,包括整数、浮点数和复数三种类型。
-
整数(
int
):整数是指没有小数部分的数字。在Python中,整数类型可以表示任意大小的整数,即没有范围限制(语言规则没有限制,但不可能超过计算机的内存限制)。整数可以使用十进制、二进制(以0b
或0B
开头)、八进制(以0o
或0O
开头)或十六进制(以0x
或0X
开头)表示。 -
浮点数(
float
):浮点数是指带有小数部分的数字。浮点数可以使用小数点来表示,也可以使用科学计数法表示,例如3.14
或3e-2
(即3乘以10的负2次方)。在Python中,浮点数类型可以表示任意大小的实数,但是有精度限制。Python中的浮点数类型使用IEEE 754标准表示,通常是64位双精度浮点数,可以表示大约15到17位的有效数字。在进行浮点数运算时,可能会出现一些意外的结果,例如:>>> 0.1 + 0.2 0.30000000000000004
在上面的示例中,0.1和0.2在二进制形式下无法精确表示,因此在计算时会出现一些精度误差,导致结果不是期望的0.3,而是一个接近0.3但略微偏差的值。
-
复数(
complex
):复数是指带有虚数部分的数字,形式为real + imagj
,其中real
表示实部,imag
表示虚部,j
表示虚数单位。在Python中,复数类型可以表示任意大小的复数,例如3+4j
。
数字类型的对象可以通过算数运算符计算,下面是常见的算术运算符及其示例:
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | 2 + 3 = 5 |
- | 减法 | 5 - 2 = 3 |
* | 乘法 | 2 * 3 = 6 |
/ | 浮点数除法 | 7 / 3 = 2.3333… |
// | 整数除法 | 7 / 3 = 2 |
% | 取模(求余) | 7 % 3 = 1 |
** | 幂运算 | 2 ** 3 = 8 |
a = 3
b = 2
print(a + b) # 5
print(a - b) # 1
print(a * b) # 6
print(a / b) # 1.5
print(a % b) # 1
print(a // b) # 1
运算符优先级与数学中的四则运算相同。
*, /, %, // | 乘法、除法、取模、取整除 |
---|---|
+, - | 加法、减法 |
字符串类型
在Python中,字符串是一种序列类型,用于表示文本数据。字符串由一系列字符组成,可以包含字母、数字、标点符号以及空格等字符。字符串在Python中是不可变的,这意味着一旦创建了字符串对象,就不能修改其内容。
以下是Python中字符串类型的一些常见操作和用法:
-
创建字符串:可以使用单引号、双引号或三引号来创建字符串。例如:
str1 = 'Hello, World!' str2 = "Python is fun." str3 = '''This is a multi-line string.'''
-
字符串连接:可以使用
+
运算符将两个字符串连接起来。例如:str1 = 'Hello, ' str2 = 'World!' str3 = str1 + str2 print(str3) # Hello, World!
-
字符串重复:可以使用
*
运算符重复一个字符串多次。例如:str1 = 'Hello, ' str2 = str1 * 3 print(str2) # Hello, Hello, Hello,
-
访问字符串中的字符:可以使用索引运算符
[]
来访问字符串中的单个字符。例如:str1 = 'Hello, World!' print(str1[0]) # H print(str1[6]) # , print(str1[-1]) # !
-
切片操作:可以使用切片操作符
:
来获取字符串中的子串。例如:str1 = 'Hello, World!' print(str1[0:5]) # Hello print(str1[7:]) # World! print(str1[:5]) # Hello print(str1[7:-1]) # World
-
字符串长度:可以使用
len()
函数来获取字符串的长度。例如:str1 = 'Hello, World!' print(len(str1)) # 13
-
字符串格式化:可以使用字符串格式化方法来格式化字符串。例如:
name = '少侠PSY' age = 25 print('My name is %s and I am %d years old.' % (name, age)) # My name is 少侠PSY and I am 25 years old.
布尔类型
在Python中,布尔类型是一种用于表示逻辑值的数据类型,只有两个取值:True
和False
。布尔类型通常用于条件语句和循环语句中,用来表示某个条件是否成立。
以下是Python中布尔类型的一些常见操作和用法:
-
创建布尔变量:可以使用
True
和False
关键字来创建布尔变量。例如:x = True y = False
-
布尔运算:可以使用布尔运算符
and
、or
和not
来对布尔变量进行运算。例如:x = True y = False print(x and y) # False print(x or y) # True print(not x) # False
-
比较运算:可以使用比较运算符(
>
,<
,>=
,<=
,==
,!=
)来比较两个值。比较运算符返回布尔值True
或False
。例如:x = 5 y = 3 print(x > y) # True print(x < y) # False print(x == y) # False
-
类型转换:可以使用
bool()
函数将其他数据类型转换为布尔类型。例如:print(bool(0)) # False print(bool(1)) # True print(bool('')) # False print(bool('abc')) # True
空值类型
在Python中,空值类型是一种特殊的数据类型,用于表示没有值的情况。空值类型只有一个取值,即None
。在Python中,None
通常用于表示函数返回值为空或变量没有赋值的情况。
以下是Python中空值类型的一些常见操作和用法:
-
创建空值变量:可以使用
None
关键字来创建空值变量。例如:x = None
-
判断变量是否为空值:可以使用
is
运算符来判断变量是否为空值。例如:x = None if x is None: print("x is None") else: print("x is not None")
-
删除变量:可以使用
del
语句来删除变量,从而释放变量所占用的内存空间。例如:x = 10 del x