LNU2020年春Python课堂笔记

第一章 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 turtlefrom 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库函数应用实例。分别输入三角形的三条边长,求三角形的面积、周长、最长边长和最短边长。

提示

  1. 根据海伦公式,p=(a+b+c)/2,S=√[p(p-a)(p-b)(p-c)]
  2. 假设输入的三条边满足 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

                
  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值