第一章 Python语言基础 -1
1.Python简介
Python的发展
- 1989年圣诞节 圣诞节期间,在阿姆斯特丹,吉多·范罗苏姆(Guido van Rossum)为了打发圣诞节的无趣,决心开发一个新的脚本解释程序
- Python名字的灵感之所以选中Python作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》( Monty Python’s Flyying Circus)
- 1991年发布的第1个Python版本
- 2000年10月 发布Python 2.0 版本
- 2008年12月 发布Python 3.0 版本
- 2019年11月 至今Python 3.x 系列已成为主流
- 最新版本Python 3.8.2 (官方网站下载 www.python.org)
Python的应用
Python 的主要应用领域
- 常规软件开发
- 图形处理
- 科学计算
- 大数据
- Web开发
- 网络爬虫
- 系统运维
- 人工智能
Python 的企业应用(略)
Python的特点
- Python的设计哲学是优雅、简单和明确
- Python既面向过程,也支持面向对象
- Python是高级通用脚本编程语言
- Python是解释型语言
- Python是跨平台语言
- Python是免费、开源,良好的生态
- Python有丰富的类库
2.Python集成开发环境
- PyCharm(由JetBrains打造的一款PythonIDE,分为专业版和社区版)
- IDLE(Python安装包内置开发环境)
- Python123(在线开发环境www.python123.io)
- Jupyter(安装Anaconda自带的高级IDE)
- Spyder(安装Anaconda自带的高级IDE)
3.用Python写程序
- IDLE是一个Python shell(外壳),可以利用这个shell与Python进行人机交互。Python解释器即使响应用户输入的每条代码,给出输出的结果。
- >>>是Python命令提示符。提示符是程序等待你键入信息时显示的符号。表示Python已经准备好了,在等着你键入Python指令。
例1:已知圆的半径是2.5,要求编写程序分别输出圆的周长和面积
解题思路:(将自然语言解题思路用Python语言实现人机交互)
半径 = 2.5
周长 = 2*π*半径
面积 = π*半径的平方
输出周长
输出面积
方法1:IDLE交互方式的程序
>>> r=2.5
>>> c=2*3.14*r
>>> s=3.14*r*r
>>> c
15.700000000000001
>>> s
19.625
方法2:IDLE文件方式的程序
r=2.5
c=2*3.14*r
s=3.14*r*r
print(c)
print(s)
4.Python程序语法元素分析
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
r=2.5
c=2*3.14*r
s=3.14*r*r
print(c)
print(s)
(1)程序的格式框架
- Python采用严格的“缩进”来表明程序的格式框架
- 缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系
(2)注释
在代码中加入的一行或多行辅助性文字信息,会被Python解释器略去,不被计算机执行
- 单行注释
# 已知圆的半径输出圆的周长和面积
- 多行注释
''' 已知圆的半径
输出圆的周长和面积'''
(3)标识符
由用户来定义的用来标识某个实体(变量、常量、函数等)的一个符号。
- 如程序中r、c、s属于标识符
- 标识符由字母、下划线和数字组成(可以使用汉字),且不能以数字开头
- 正确的标识符如: x_1、 myName等
- 错误的标识符如:Test@2、1x等
- 标识符的命名通常要“见名识意”,如:age、wordList
- 标识符区分大小写,如age和Age是两个不同的标识符
(4)保留字(关键字)
- 指被Python内部定义并保留使用的标识符
- 用户编写程序时不能定义与保留字相同的标识符
- Python的33个保留字列表
Flase | def | if | raise |
---|---|---|---|
None | del | import | return |
True | elif | in | try |
and | else | is | while |
as | except | lambda | with |
assert | finally | nonlocal | yield |
break | for | not | |
class | from | or | |
continue | global | pass |
(5)变量
- 在程序运行过程中,其值可以改变的量成为变量
- 在Python中,不需要事先声明变量名及其类型,直接赋值即可创建任何类型的对象变量
- 不仅变量的值是可以变化的,变量的类型也是可以变化的,如:
r=3.7 # r为浮点型
x1=2020 # x1位整数型
x1="武汉加油" # x1为字串符型 (成对的英文单引号或双引号)
- 如何理解变量?
myUniversity="Lnu"
yourUniversity=myUniversity
yourUniversity="Neu"
(6)常量
- 在程序运行过程中,其值不能改变的量成为常量
- 如:3.14就是一个常量
(7).print()输出函数
是Python内置函数之一,用于输出数据对象
- 格式:
print(objects,sep='',end='\n')
- objects:可以一次输出许多个对象, 输出多个对象时,需要用逗号分隔。
- sep:设定输出多个对象时的分割符。若省略,默认为一个空格。
- end:用来设定输出的结尾字符。若省略,默认值是换行符
'\n'
,若输出后不想执行换行操作,也可以换成其他字符。
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
r=2.5
c=2*3.14*r
s=3.14*r*r
print("圆的周长为:",c)
print("圆的周长为:",s)
程序执行结果:
圆的周长为:15.700000000000001
圆的面积为:19.625
>>>
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
r=2.5
c=2*3.14*r
s=3.14*r*r
print("c=",c,end=' ')
print("s=",s)
程序执行结果:
c=15.700000000000001 s=19.625
>>>
(8).input()输入函数
是Python内置函数之一,用于完成数据的输入
- 格式:
<变量>=input(<提示信息>)
- 在Python中,用input()函数实现变量的输入,无论用户在控制台输入字符串或数值,该函数都以字符串类型返回结果
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
r=float(input("请输入半径"))
c=2*3.14*r
s=3.14*r*r
print("c=",c,end=' ')
print("s=",s)
程序执行结果:
请输入半径:5.6
c=35.168 s=98.4704
>>>
(9).eval()函数
是Python中经常使用的内置函数之一,用来解析给定的字符串表达式,并返回表达式的值。
- 格式:
<变量>=eval(<字符串表达式>)
- 如:
>>>r=20
>>>eval("r")
>>>20
以上例句可以简单理解为“eval()用于去掉字符串两端的界线符”
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
r=eval(input("请输入半径"))
c=2*3.14*r
s=3.14*r*r
print("c=",c,end=' ')
print("s=",s)
程序执行结果:
请输入半径:10.2
c=64.056 s=326.68559999999997
>>>
试一试
#E1-1.py
''' 已知圆的半径
输出圆的周长和面积'''
import winsound
r=eval(input("请输入半径"))
c=2*3.14*r
s=3.14*r*r
winsound.Beep(500,1000)
print("c=",c)
print("s=",s)
函数
- 实际编程中,一般将特定功能代码编写在一个函数里,便于阅读和复用,也使得程序模块化更好
- 函数可理解为对一组表达特定功能表达式的封装,它与数学函数类似,能够接受变量并输出结果,如sin(x)
- Python中函数包括Python解释器内置函数(如print()、input()、eval()等)、标准库函数、第三方库函数和用户自定义函数。
内置函数
-
Python解释器提供68个内置函数(如print()、input()、eval()等)
-
这些函数不需要引用库可直接使用
-
部分常用内置函数表
print() input() eval() id() type() max() min() int() float() bool() str() len() open() pow() list() tuple() format() …
标准库(模块)函数
- Python有许多标准库,如os库、字符串正则匹配re库、数学库math、随机数random、日期时间datetime库等
- 在使用这些模块中的函数时,需要先导入库
import <库名>
或from <库名> import *
- 例如
>>> import math() #导入math库
>>> math.sin(3) #返回弧度制3对应的正弦值
Python程序初识常见问题
问题1:Python程序执行出现“unexpected”(缩进)错误
解析:出现错误原因是出现未知缩进。一般来说,只要提示中包含“indent”,都是由于缩进不正确造成的。在Python中,缩进是语法的一部分。
问题2:Python程序执行出现“invalid syntax”(语法格式)错误
解析:出现错误原因是语法格式错误。一般来说,只要提示中包含单词“syntax”,都是由于语法格式错误造成的。如,缺少右括号)
。
问题3:Python程序执行出现“invalid character in identifier”(标识符中出现非法字符)错误
解析:出现错误原因是该行的标识符中出现非法字符。如本应该使用英文的符号()、""
,却使用了中文的符号()、“”
。
课后作业 参考答案
1-5 CCBCB
6.(我的)
#E1-1-190102117.py
N=float(input("请输入整数"))**3
print(N)
6.(老师)
N**2
或者
pow(N,2)
#E1-2-190102117.py
yourUniversity=(input("请输入你的学校 "))
yourClass=(input("请输入你的班级 "))
yourName=(input("请输入你的姓名 "))
yourWord=(input("请输入你最想对驰援湖北、驰援武汉的广大医护人员说的一句话 "))
print(yourUniversity,end='的')
print(yourClass,end='的')
print(yourName,end='的想对驰援湖北、驰援武汉的广大医护人员说:')
print("“",yourWord,"”",sep='')
5.turtle库
- turtle库是一个有趣的图形绘制库,也是Python标准库之一,使用时需先用命令导入turtle库:
import turtle
或from turtle import *
- turtle(海龟)图形绘制的方法可以想象为一个虚拟的小海龟,在画布上以坐标轴原点(0,0)位置未开始点,根据一组函数指令的控制来移动,从而在它爬行的路径上绘制出图形。
turtle库部分常用函数
- 窗体设置
- setup()
- 画布设置
- screensize()
- bgcolor()
- reset()
- clear()
- 小海龟
- 画笔属性
- colormode()
- pensize() 或 width()
- pencolor()
- fillcolor()
- color()
- 画笔绘图状态
- penup() 或 up() 或 pu()
- pendown() 或 down() 或 pd()
- begin_fill()
- end_fill()
- 移动绘制
- forward() 或 fd()
- backward() 或 back()
- right() 或 rt()
- left() 或 lt()
- speed()
- circle()
- goto() 或 setpos() 或 setposition()
- 小海龟状态
- position() 或 pos()
- distance()
- 画笔属性
绘制边长为100单位(像素)的正方形
#E1-2-1.py
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
#E1-2-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
#E1-2-3.py
from turtle import *
for x in range(4):
forward(100)
left(90)
绘制边长为100单位(像素)的正方形及半径为50的圆
画笔抬起:penup() 或 up()
画笔落下:pendown() 或 down()
向前移动:forward()
移动到指定坐标位置:goto(x,y)
转角绘图:le() 或 right() 或 setup()
绘制圆形:circle()
#E1-3-1.py
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90) #绘制正方形
turtle.penup() #画笔抬起
turtle.forward(200) #向前移动200,但不绘制线条
turtle.pendown() #画笔落下
turtle.circle(50) #绘制半径为50的圆
#E1-3-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
penup()
forward(200)
pendown()
circle(50)
#E1-3-2.py
from turtle import *
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
penup()
goto(200,0) #将画笔移动到坐标(200,0)的位置
pendown()
circle(50)
#E1-3-4.py
from turtle import *
forward(100)
seth(90) #设置当前画笔朝向为90度(相对于坐标轴)
forward(100)
seth(180)
forward(100)
seth(270) #或seth(-90)
forward(100)
seth(0)
penup()
goto(200,0)
pendown()
circle(50)
绘制半径为50和100的同心圆
#E1-4-1.py
from turtle import *
circle(50) #绘制内圆
penup()
goto(0,-50) #画笔移动到外圆绘制的起点
pendown()
circle(100) #绘制外圆
绘制内圆边框为红色、外圆边框为绿色的同心圆,画布为黑色
窗体设置:
- 设置窗体大小:setup()
画布设置: - 设置画布大小:screensize()
- 画布背景色:bgcolor()
画笔设置: - 画笔宽度:pensize()
- 画笔颜色:pencolor()
#E1-5-1.py
from turtle import *
setup(500,500) #窗体大小宽500,高500像素
screensize(800,600,"black") #画布宽800,高600,背景黑色
''' screensize(800,600,"black") 也可写成
screensize(800,600)
bgcolor("black")
'''
pensize(3) #笔粗3像素
pencolor("red")
circle()
penup()
goto(0,-50)
pendown()
pencolor("green") #绿色画笔
circle(100)
绘制内圆边框为红色且填充为黄色、外圆边框为绿色的同心圆,画布为黑色
画笔线条颜色:pencolor()
形状填充颜色:llcolor()
画笔线条和形状填充颜色:color()
开始填充颜色:begin_ll()
结束填充颜色:end_ll()
画笔移动速度:speed()
#E1-6-1.py
from turtle import *
setup(500,500)
screensize(800,600,"black")
pensize(3)
color("red","yellow") #红色画笔和黄色填充色
'''也可以写成
pencolor("red")
llcolor("yellow")
'''
begin_fill( ) #开始填充
circle(50)
end_fill( ) #结束填充
penup( )
goto(0,-50)
pendown( )
pencolor("green")
speed(10) #画笔移动 速度
circle(100)
RGB颜色模式是工业界的一种颜色标准,也是目前电子设备通用的颜色模式。
RGB颜色“三原色”原理:
通过打在显示屏上红®、绿(G)、蓝(B)三色电子光束的强弱变化,相互叠加来得到各式各样的颜色。
颜色 | RGB |
---|---|
黑 | (0,0,0) |
白 | (255,255,255) |
红 | (255,0,0) |
绿 | (0,255,0) |
蓝 | (0,0,255) |
黄 | (255,255,0) |
粉 | (255,0,255) |
青 | (0,255,255) |
Python中几种常用颜色的4种表示形式
颜色 | 颜色英文 | RGB的整数值 | RGB的小数值 | 十六进制串 |
---|---|---|---|---|
黑 | black | 0,0,0 | (0,0,0) | #000000 |
白 | white | 255,255,255 | (255,255,255) | #FFFFFF |
红 | red | 255,0,0 | (255,0,0) | #FF0000 |
绿 | green | 0,255,0 | (0,255,0) | #00FF00 |
蓝 | blue | 0,0,255 | (0,0,255) | #0000FF |
黄 | yellow | 255,255,0 | (255,255,0) | #FFFF00 |
金 | gold | 255,215,0 | (255,215,0) | #FFD700 |
粉 | violet | 238,130,238 | (238,130,238) | #EE82EE |
紫 | purple | 160,32,240 | (160,32,240) | #A020F0 |
红色
- pencolor (“red”)
- pencolor(255,0,0)
- pencolor(1,0,0)
- pencolor("#FF0000")
绿色 - pencolor (“green")
- pencolor(0,255,0)
- pencolor(0,1,0)
- pencolor("#00FF00")
colormode(1.0 [255]):
- 设置画笔颜色模式,颜色模式取值1.0或255,
colormode为1.0时r,g,b取值范围为[0,1.0]的小数,
colormode为255时r,g,b取范围为[0,255]的整数。 - 默认为colormode(1.0)。
- 无参数时返回当前颜色模式值。
- 例:colormode(255)
绘制内圆边框为红色且填充为紫色、外圆边框为绿色的同心圆,画布为黑色
#E1-6-2.py
from turtle import *
setup(500,500)
screensize(800,600,"black")
pensize(3)
colormode(255)
pencolor("red")
fillcolor(123,78,189)
begin_fill( )
circle(50)
end_fill( )
penup( )
goto(0,-50)
pendown( )
pencolor("green")
speed(20)
circle(100)
有趣的图像
#E1-8.py
from turtle import *
for x in range(100):
forward(x)
left(90)
reset()
for x in range(200):
forward(x)
left(91)
#E1-9.py
from turtle import *
bgcolor("black")
pensize(3)
pencolor("red")
for x in range(100):
circle(x)
left(91)
第二章 基本数据类型、运算符和表达式 -1
1.基本数据类型
2.运算符
3.常用内置函数
4.表达式、赋值语句与运算符的优先级
5.math库
数据类型概述
数据类型
- 计算机对数据进行运算的时候,需要确定数据的类型和含义
- 确定了数据类型,才能确定变量的存储以及操作
- 计算机对数据的识别和处理有两个基本要求,确定性和高效性
- Python中常用的数据类型包括数值类型、字符串类型、布尔类型等。
Python我们身边的计算器
数值类型
- 整数
- 浮点数
- 负数
数值类型的运算
- 数值运算操作符
- 数值运算函数
- math库
数值类型
数值类型
- 表示数值或数字的数据类型
- 在Python中提供3种数值类型,整数、浮点数和复数,分别对应数学中的整数、实数和复数。
>>> 3+5
8 #整数
>>> 3.14*2
6.28 #浮点数
>>> 5+6j #复数
(5+6j)
整数类型
- 与数学中的整数概念一致
- 共有4种进制表示:十进制、二进制、八进制和十六进制,默认采用十进制,其他进制需要增加引导符(不区分大小写)
- 进制引导符
- 二进制 0b或0B 如:0b101,0B1010
- 八进制 0o或0O 如:0o127, 0O345
- 十六进制 0x或0X 如:0x12AB, 0x34EF3
- 理论上的取值范围是[-∞,+ ∞]
- 实际上的取值范围受限于运行Python程序的计算机内存大小
- 除极大数的运算外,一般认为整数类型没有取值范围限制
>>> 127 #十进制数127
127
>>> 0b1111111 #二进制数
127
>>> 0o177 #八进制数
127
>>> 0x7f #十六进制数
127
>>> #无论输入的是几进制,输出默认都以十进制显示数据
浮点数类型
- 与数学中实数的概念一致,表示带有小数的数值
- Python要求浮点数类型必须带有小数部分,小数部分可以是0,以区分浮点数和整数,如100.0,100
- 浮点数有两种表示方法:
- 十进制表示: -55.96,3.1415926
- 科学计数法:用e或E作为幂的符号,以10为基数,如 3.1E5表示3.1*10^5
- 数值范围和小数精度受不同计算机系统的限制
- 浮点运算结果中最长可输出17位数字,然而只有前15位数字确定是正确的,因此存在“不确尾数”
- 对于除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠”
- 一般认为,浮点数类型没有数值范围限制,运算结果准确
>>> 77.56+88.98
166.54000000000002
>>> 3.14*2.5
7.8500000000000005
>>> 9.6e5
960000.0
>>> 12.56**20
9.5453704557821e+21
数值类型的运算
数值运算操作符
+、-、%、//、*、/、+-(正负号)、**
数值运算函数
- abs(x)
- max(x1,x2,x3)
- round(x[,ndigits])
- ……
math库
- math.sqrt(x)
- math.exp(x)
- math.pow(x,y)
- ……
数值运算操作符
数值运算符优先级 ,由低→高
+、-
→ %
→ //
→ *、/
→ +-(正负号)
→ **
运算符 | 描述 |
---|---|
x+y | 加法,x与y之和 |
x-y | 减法,x与y之差 |
x*y | 乘法,x与y之积 |
x/y | 除法,x与y之商 |
x//y | 整除(地板除),x与y之整数商,即:不大于x与y之商的最大整数。如5/3返回1;-5/3返回-2 |
x%y | 取余,x与y之商的余数,也成为模运算 |
-x | 负号,x的负值,即:x*(-1) |
+x | 正号,x本身 |
x**y | 乘方,x的y次幂,即:x^y,如:2**3返回8 |
注意
- 数值运算可能改变结果的数据类型,类型的改变与运算符有关
- 整数和浮点数混合运算,输出结果是浮点数
- 整数之间运算,产生结果类型与操作符有关,除法运算(/)的结果是浮点数
- 整数或浮点数与复数运算,输出结果是复数
>>> 77.56+8
85.56
>>> 6/3
2.0
>>> 8%3
2
>>> 8.0%3
2.0
>>>- 8%3
1
>>> 8%-3
-1
#用户输入一个整数,由计算机判断该数是偶数还是奇数
N=int(input("N="))
if N%2 == 0:
print("该数是偶数!")
else:
print("该数是奇数")
注意: x//y 返回不大于x与y之商的最大整数即结果向- ∞舍入
>>> 50//4
12
>>> 50.0//4
12.0
>>> -50//4
-13
>>> -50.0//4
-13.0
强调
- 其中二元操作符(+、-、*、/、//、%、**)都可以与赋值符号(=)相连,形成增强赋值操作符,能够简化对同一变量赋值语句的表达
- +=、-=、*=、/=、//=、%=、**=
如:
x=3
x=x+1
相当于:
x=3
x+=1
>>> x=25
>>> x%=2 #相当于x=x%2
>>>print( x)
1
>>> y=7.0
>>> y*=3 #相当于y=y*3
>>> print(y)
21.0
数值运算函数
Python解释器自身提供了一些预装函数,用于完成对参数的特定运算,称为“内置函数”,其中包括的主要用于数值运算的函数如下表所示:
函数 | 说明 |
---|---|
abs(x) | 返回x的绝对值,x可以为整数、浮点数或整数,x为复数时,返回它的模 |
divmod(x,y) | 返回x//y和x%y的结果 |
pow(x,y[,z]) | 幂函数,返回x**y和或(x**y)%z的值 |
round(x[,n]) | 对x进行四舍五入,保留n位小数;若省略n,则返回整数;若n为复数,则对小数点前n位进行四舍五入 |
max(x1,x2,…xn) | 返回多个参数中的最大值,n的值没有限定 |
min(x1,x2,…xn) | 返回多个参数中的最小值,n的值没有限定 |
sum([x1,x2,…xn]) | 返回数值型序列中所有元素的和 |
>>> x=-25
>>> y=4
>>> abs(x)
25
>>>divmod(x,y)
(-7,3)
>>> pow(x,y)
390625
>>> pow(x,y,2)
1
>>> round(15.364,1)
15.4
>>>round(15.364,-1)
20.0
>>> max(10,20,15.38)
20
>>> min(10,20,15.38)
10
>>> sum((10,20,15.38))
45.38
math库
math库
- math库是Python的标准库,提供了诸多的数学函数,可以实现整数和浮点数的数学运算。
- math库提供了4个数学常数和44个函数。44个函数共分为4大类,包括16个数值表示函数,8个幂对数函数,16个三对数函数和4个高等特殊函数
- 使用时要引用该库,格式为:
import math
或from math import *
或from math import <函数名>
常数 | 说明 |
---|---|
math.e | 自然对数,值为2.718281828459045 |
math.pi | 圆周率pi,值为3.141592653589793 |
>>> import math
>>> math.pi*2**2
12.566370614359172
>>> PI=math.pi
>>> round(PI,3)*2**2
12.568
Math库的常用函数
函数 | 说明 |
---|---|
math.fabs(x) | 返回x的绝对值 |
math.ceil(x) | 返回不小于x的最小整数(向上取整) |
math.floor(x) | 返回不大于x的最大整数(向下取整) |
math.trunc(x) | 返回x的整数部分 |
math.modf(x) | 返回x的小数和整数 |
math.fmod(x,y) | 返回x与y的余数,注意与%返回结果略有不同 |
math.sqrt(x) | 返回x的平方根 |
math.pow(x) | 返回x的y次方 |
math.fsum([x,y,…]) | 返回序列中各元素之和 |
math.factoria(x) | 返回x的阶乘 |
【例2-1】常用math库函数举例
>>> import math
>>> math.fabs(-5) #返回-5绝对值,结果为浮点数5.0
5.0
>>> math.ceil(5.2) #返回不小于5.2的最小整数
6
>>> math.ceil(-5.2) #返回不小于-5.2的最小整数
-5
>>> math.floor(5.2) #返回不大于5.2的最大整数
5
>>> math.floor(-5.2) #返回不大于-5.2的最大整数
-6
>>> math.trunc(5.6) #返回5.2的整数部分
5
>>> math.modf(5.2) #返回5.2的小数和整数
(0.20000000000000018, 5.0)
>>> math.fmod(5,3) #返回5除以2的余数
2.0
【例2-1】常用math库函数举例
>>> math.sqrt(3) #返回正数的平方根
1.7320508075688772
>>> math.sqrt(-3) #负数出错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
>>> math.pow(5,3) #返回5的3次方
125.0
>>> 0.1+0.2+0.3
0.6000000000000001
>>> math.fsum([0.1, 0.2, 0.3]) #精确求和
0.6
>>> math.factorial(5) #返回5的阶乘
120
【例2-2】math库函数应用实例。分别输入三角形的三条边长,求三角形的面积、周长、最长边长和最短边长。
提示
- 根据海伦公式,p=(a+b+c)/2,S=√[p(p-a)(p-b)(p-c)]
- 假设输入的三条边满足 a>0 and b>0 and c>0 and a+b>c and b+c>a and a+c>b
#E2-2.py
import math
a=float(input("a="))
b=float(input("b="))
c=float(input("c="))
p=(a+b+c)/2
area=math.sqrt(p*(p-a)*(p-b)*(p-c))
circum=a+b+c
max_side=max(a,b,c)
min_side=min(a,b,c)
print("面积:",area)
print("周长:",circum)
print("长边为:",max_side)
print("短边为 :",min_side)
math库的其它函数(了解)
函数 | 说明 |
---|---|
math.gcd(x,y) | 返回整数x和y的最大公约数 |
math.degrees(x) | 将弧度转换为度 |
math.radians(x) | 将度转换为弧度 |
math.sin(x) | 返回x(弧度)的三角正弦值 |
math.asin(x) | 返回x的反三角正弦值 |
math.cos(x) | 返回x(弧度)的三角余弦值 |
math.acos(x) | 返回x的反三角余弦值 |
math.tan(x) | 返回x(弧度)的三角正切值 |
math.atan(x) | 返回x的反三角正切值 |
math.atan2(x,y) | 返回x/y的反三角正切值 |
赋值语句
>>> a=3
>>> b=5
>>> a+b
8
>>> a,b=3,5
>>> a+b
8
>>> a=3;b=5
>>> a+b
8
>>> x=y=9
>>> x
9
>>> y
9
- Python中,赋值运算符
=
表示“赋值”,即将等号右侧表达式的计算结果赋给左侧变量,包含等号(=)的语句称为“赋值语句”:
<变量> = <表达式>
- 此外,还有一种同步赋值语句,同时给多个变量并行赋值:
< 变量1>, …, < 变量N> = < 表达式1>, …, < 表达式N>
也可以写成:
< 变量1>=< 表达式1>;< 变量2>=< 表达式2>;……<变量N> =< 表达式N>
- 链式赋值 将同一个值赋给多个变量
<变量1>=<变量2>=…=<变量n >=<表达式>
【例2-3】编写程序输入两个数分别赋给变量x和y,交换变量x和y的值,并输出
#方法一
x=float(input("x="))
y=float(input("y="))
t=x
x=y
y=t
print("x=",x)
print("y=",y)
#方法二
x=float(input("x="))
y=float(input("y="))
x,y=y,x
print("x=",x)
print("y=",y)
第二章 基本数据类型、运算符和表达式 -2
字符串类型
字符串
- 存储和处理文本信息在计算机应用中十分常见
- 程序中字符串类型用于表示文本信息,是字符的序列表示
- 在Python中,字符串中的文本要用界限符英文的单引号、双引号或三引号 括起来,如:“Python语言”、"您好"等。
>>> print(“《我和我的祖国》”)
《我和我的祖国》
>>> print(“《平凡的世界》”,”路遥”)
《平凡的世界》 路遥
>>> print(‘abc123@163.com’)
abc123@163.com
>>>print('950618',"190123112")
950618 190123112
>>> print("210121197906256510")
210121197906266517