热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonsze_python学习笔记(4)

....................................................................................................

......................................................................................................................................................................................

程序的控制结构

......................................................................................................................................................................................

程序的分支结构

根据判断条件结果而选择不同向前路径的运行方式

单分支结构

if :

例:if True:

print("条件正确")

二分支结构

if :

else :

例:if True:

print("语句块1")

else :

print("语句块2")

紧凑形式:适用于简单表达式的二分支结构

if else

例:guess = eval(input())

print("猜{}了".format("对" if guess==99 else "错"))

多分支结构

if :

elif :

……

else :

例:

score = eval(input())

if score >= 60:

grade = "D"

elif score >= 70: -注意多条件之间的包含关系

grade = "C"

elif score >= 80: -注意变量取值范围的覆盖

grade = "B"

elif score >= 90:

grade = "A"

print("输入成绩属于级别{}".format(grade))

条件判断及组合

条件判断

操作符

数学符合

描述

<

<

小于

<&#61;

小于等于

>&#61;

大于等于

>

>

大于

&#61;&#61;

&#61;

等于

!&#61;

不等于

条件组合

用于条件组合的三个保留字

操作符及使用

描述

x and y

两个条件x和y的逻辑与

x or y

两个条件x和y的逻辑或

not x

条件x的逻辑非

例&#xff1a;

guess &#61; eval(input())

if guess > 99 or guess <99:

print("猜错了")

else :

print("猜对了")

程序的异常处理

异常处理的基本使用

try :

except :

例&#xff1a;

try :

num &#61; eval(input("请输入一个整数: "))

print(num^2)

except :

print("输入不是整数")

或者

try :

num &#61; eval(input("请输入一个整数: "))

print(num^2)

except **NameError**: -标注异常类型后&#xff0c;仅响应此类异常&#xff0c;异常类型名字等同于变量名

print("输入不是整数")

异常处理的高级使用

try :

except :

else :

-else对应语句块3在不发生异常时执行

finally :

-finally对应语句块4一定执行

实例5: 身体质量指数BMI

height, weight &#61; eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))

bmi &#61; weight / pow(height, 2)

print("BMI 数值为&#xff1a;{:.2f}".format(bmi))

who, nat &#61; "", ""

if bmi <18.5:

who, nat &#61; "偏瘦", "偏瘦"

elif 18.5 <&#61; bmi <24:

who, nat &#61; "正常", "正常"

elif 24 <&#61; bmi <25:

who, nat &#61; "正常", "偏胖"

elif 25 <&#61; bmi <28:

who, nat &#61; "偏胖", "偏胖"

elif 28 <&#61; bmi <30:

who, nat &#61; "偏胖", "肥胖"

else:

who, nat &#61; "肥胖", "肥胖"

print("BMI 指标为:国际&#39;{0}&#39;, 国内&#39;{1}&#39;".format(who, nat))

程序的循环结构

遍历循环

遍历某个结构形成的循环运行方式

for in :   - 从遍历结构中逐一提取元素&#xff0c;放在循环变量中

遍历循环的应用

计数循环(N次)

for i in range(N) :    - 遍历由range()函数产生的数字序列&#xff0c;产生循环

例&#xff1a;

>>> for i in range(5):

print(i)

0

1

2

3

4

计数循环(特定次)

for i in range(M,N,K) :

例&#xff1a;

>>> for i in range(1,6,2):

print("Hello:",i)

Hello: 1

Hello: 3

Hello: 5

字符串遍历循环

for c in s :   - s是字符串&#xff0c;遍历字符串每个字符&#xff0c;产生循环

例&#xff1a;

>>> for c in "Python123":

print(c, end&#61;",")

P,y,t,h,o,n,1,2,3,

列表遍历循环

for item in ls :   - ls是一个列表&#xff0c;遍历其每个元素&#xff0c;产生循环

例&#xff1a;

>>> for item in [123, "PY", 456] :

print(item, end&#61;",")

123,PY,456,

文件遍历循环

for line in fi :   - fi是一个文件标识符&#xff0c;遍历其每行&#xff0c;产生循环

例&#xff1a;

>>> for line in fi :

print(line)

优美胜于丑陋

明了胜于隐晦

简洁胜于复杂

无限循环

由条件控制的循环运行方式

while :   - 反复执行语句块&#xff0c;直到条件不满足时结束

无限循环的应用

无限循环的条件

>>> a &#61; 3

>>> while a > 0 :

a &#61; a - 1

print(a)

2

1

0

循环控制保留字(break 和 continue)

break跳出并结束当前整个循环&#xff0c;执行循环后的语句

continue结束当次循环&#xff0c;继续执行后续次数循环

break和continue可以与for和while循环搭配使用

例&#xff1a;

>>> for c in "PYTHON" :

if c &#61;&#61; "T" :

continue

print(c, end&#61;" ")

PYHON

>>> for c in "PYTHON" :

if c &#61;&#61; "T" :

break

print(c, end&#61;" ")

PY

注&#xff1a;break仅跳出当前最内层循环

循环的高级用法

循环的扩展

循环与else

for in :    -当循环没有被break语句退出时&#xff0c;执行else语句块

   -else语句块作为"正常"完成循环的奖励

else :

  - 这里else的用法与异常处理中else用法相似

while :

else :

例&#xff1a;

>>> for c in "PYTHON" :

if c &#61;&#61; "T" :

continue

print(c, end&#61;"")

else:

print("正常退出")

PYHON正常退出

>>> for c in "PYTHON" :

if c &#61;&#61; "T" :

break

print(c, end&#61;"")

else:

print("正常退出")

PY

模块3: random库的使用

random库是使用随机数的Python标准库

伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素

random库主要用于生成随机数

使用random库: import random

random库包括两类函数&#xff0c;常用共8个

基本随机数函数&#xff1a; seed(), random()

扩展随机数函数&#xff1a; randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

基本随机数函数

函数

描述

seed(a&#61;None)

初始化给定的随机数种子&#xff0c;默认为当前系统时间 >>>random.seed(10) #产生种子10对应的序列

random()

生成一个[0.0, 1.0)之间的随机小数>>>random.random() 0.5714025946899135

例&#xff1a;

>>> import random

>>> random.seed(10)

>>> random.random()

0.5714025946899135

扩展随机数函数

函数

描述

randint(a, b)

生成一个[a, b]之间的整数 >>>random.randint(10, 100) 64

randrange(m, n[, k])

生成一个[m, n)之间以k为步长的随机整数 >>>random.randrange(10, 100, 10) 80

getrandbits(k)

生成一个k比特长的随机整数 >>>random.getrandbits(16) 37885

uniform(a, b)

生成一个[a, b]之间的随机小数 >>>random.uniform(10, 100) 13.096321648808136

choice(seq)

从序列seq中随机选择一个元素 >>>random.choice([1,2,3,4,5,6,7,8,9]) 8

shuffle(seq)

将序列seq中元素随机排列&#xff0c;返回打乱后的序列 >>>s&#61;[1,2,3,4,5];random.shuffle(s);print(s) [3, 5, 1, 2, 4]

实例6: 圆周率的计算

公式法&#xff1a;

#CalPiV1.py

pi &#61; 0

N &#61; 100

for k in range(N) :

pi &#43;&#61; 1/pow(16,k)*( \

4/(8*k&#43;1) – 2/(8*k&#43;4) - \

1/(8*k&#43;5) – 1/(8*k&#43;6))

print("圆周率值是: {}".format(pi))

蒙特卡罗方法:

#CalPiV2.py

from random import random

from time import perf_counter

DARTS &#61; 1000*1000

hits &#61; 0.0

start &#61; perf_counter()

for i in range(1, DARTS&#43;1):

x, y &#61; random(), random()

dist &#61; pow(x ** 2 &#43; y ** 2, 0.5)

if dist <&#61; 1.0:

hits &#61; hits &#43; 1

pi &#61; 4 * (hits/DARTS)

print("圆周率值是: {}".format(pi))

print("运行时间是: {:.5f}s".format(perf_counter()-start))



推荐阅读
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
author-avatar
嘉苹民智79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有