python在哪些控制结构中使用else保留字_python的程序控制结构-循环结构与random库使用和圆周率案例--pyt...
python的程序控制结构-循环结构与random库使用和圆周率案例--pyt
python的程序控制结构-循环结构与random库使用和圆周率案例--python-7-days
循环结构
- for…in 遍历循环: 计数、字符串、列表、文件…
- while无限循环
- continue和break保留字: 退出当前循环层次
- 循环else的高级用法: 与break有关
遍历某个结构形成的循环运行方式
从遍历结构中逐一提取元素,放在循环变量中
for <循环变量> in <遍历结构> :
<语句块>
由保留字for和in组成,完整遍历所有元素后结束
每次循环,所获得元素放入循环变量,并执行一次语句块
遍历循环的应用:计数循环(N次)
遍历由range()函数产生的数字序列,产生循环
for i in range(N) :
<语句块>
>>> for i in range(5):
print(i)
0
1
2
3
4
遍历循环的应用:计数循环(特定次)
for i in range(M,N,K) :
<语句块>
>>> for i in range(1,6,2):
print("Hello:",i)
Hello: 1
Hello: 3
Hello: 5
遍历循环的应用:字符串遍历循环
s是字符串,遍历字符串每个字符,产生循环
for c in s :
<语句块>
>>> for c in "Python123":
print(c, end=",")
P,y,t,h,o,n,1,2,3,
遍历循环的应用:列表遍历循环
ls是一个列表,遍历其每个元素,产生循环
>>> for item in [123,"PY", 456] :
print(item, end=",")
123,PY,456,
遍历循环的应用:文件遍历循环
fi是一个文件标识符,遍历其每行,产生循环
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂
>>> for line in fi :
print(line)
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂
由条件控制的循环运行方式
反复执行语句块,直到条件不满足时结束
>>> a = 3
>>> while a > 0 :
a = a - 1
print(a)
2
1
0
>>> a = 3
>>> while a > 0 :
a = a + 1
print(a)
4
5
… (CTRL + C 退出执行)
break跳出并结束当前整个循环,执行循环后的语句
continue结束当次循环,继续执行后续次数循环
break和continue可以与for和while循环搭配使用
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
>>> PYHON
break仅跳出当前最内层循环
>>> s = "PYTHON"
>>> while s != "" :
for c in s :
if c == "T" :
break
print(c, end="")
s = s[:-1]
>>> PYPYPYPYPYP
当循环没有被break语句退出时,执行else语句块
else语句块作为**"正常"完成循环的奖励**
这里else的用法与异常处理中else用法相似
for ……else……
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
else:
print("正常退出")
>>> PYHON正常退出
>>> for c in "PYTHON" :
if c == "T" :
break
print(c, end="")
else:
print("正常退出")
>>> PY
random库
random库是使用随机数的Python标准库
伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
random库主要用于生成随机数
使用random库: import random
1、 基本随机数函数: seed(), random()
>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.seed(10)
>>> random.random()
0.5714025946899135
2、 扩展随机数函数: randint(), getrandbits(), uniform(),
randrange(), choice(), shuffle()
需要掌握的能力
能够利用随机数种子产生"确定"伪随机数
能够产生随机整数
能够对序列类型进行随机操作
圆周率案例
使用圆周率的近似计算公式
#CalPiV1.py
pi = 0
N = 100
for k in range(N):
pi += 1/pow(16,k) * (\
4/(8*k + 1) - 2/(8*k+4) - 1/(8*k + 5) - 1/(8*k + 6))
#print("pi = {0},k = {1}".format(pi,k))
print("圆周率值是:{}".format(pi))
圆周率值是: 3.141592653589793
蒙特卡洛算法
#CalPiV2.py
from random import random
from time import perf_counter
DARTS = 1000*1000*10
hits = 0.0
start = perf_counter()
for i in range(1,DARTS+1):
x,y = random(),random()
dist = pow(x ** 2 + y ** 2,0.5)
if dist <= 1.0:
hits = hits + 1
pi = 4 * (hits/DARTS)
print("y圆周率值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))
理解方法思维
数学思维:找到公式,利用公式求解
计算思维:抽象一种过程,用计算机自动化求解
谁更准确? (不好说…)
程序运行时间分析
使用time库的计时方法获得程序运行时间
改变撒点数量,理解程序运行时间的分布
初步掌握简单的程序性能分析方法
计算问题的扩展
不求解圆周率,而是某个特定图形的面积
在工程计算中寻找蒙特卡罗方法的应用场景
蒙特卡洛算法非常厉害的算法
记得曾经好像学过蒙特卡洛算法的推导,当时觉得又复杂又难懂,没想到现在看来还挺有意思的,有空再去推一遍~
python的程序控制结构-循环结构与random库使用和圆周率案例--pyt相关教程
python在哪些控制结构中使用else保留字_python的程序控制结构-循环结构与random库使用和圆周率案例--pyt...相关推荐
- python多分支结构案例_python的程序控制结构-分支结构与身体质量指数案例--python-6-da...
python的程序控制结构-分支结构与身体质量指数案例--python-6-da python的程序控制结构-分支结构与身体质量指数案例--python-6-days 程序控制结构 - 单分支 if ...
- python入门之控制结构-循环结构_Python 入门之控制结构 - 循环结构(一)
第1关:While 循环与 break 语句 程序的第三大结构是循环结构.在此结构中,通过一个判断语句来循环执行一个代码块,直到判断语句为假时跳出循环.循环语句分为while循环.for循环.循环嵌套 ...
- Python入门之控制结构 - 循环结构
Python入门之控制结构 - 循环结构 第1关:While循环与break语句 第2关:for循环与continue语句 第3关:循环嵌套 第4关:迭代器 第1关:While循环与break语句 · ...
- python入门之控制结构循环结构_python入门教程04-05(python语法入门之流程控制)...
本次课程介绍了流量的控制,介绍分支结构和循环结构的介绍和用法,实操介绍,我们一起来学习一下吧~~~ 一 引子: 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之 ...
- python程序的循环结构_四、python程序结构之循环结构
循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...
- python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)
今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...
- Python中的程序控制结构 顺序结构和选择结构
目录 Python中的程序控制结构(一) 1.程序中的组织结构 2.顺序结构 3.对象的布尔值 4.分支结构 4.1 单分支if结构 4.2 双分支if...else结构 4.3 多分支if...el ...
- python用random函数猜字母_Python小游戏——猜数字教程(random库教程)
今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...
- python哲学内容 多行胜于单行_Python程序设计(胡新明)-中国大学mooc-题库零氪
一.引子(51min) 章节一测验 1."程序"就是做一件事情或者解决一个问题所采取的一系列()步骤. A.固定 B.无序 C.随机 D.重复 2.Python语言程序中的语句的行 ...
最新文章
- 简单介绍C++中常量与指针
- Android模拟自定义浏览器和打开另一个Ativity(06)
- 008-SDK框架之LYWSDKPlatformManager.h
- Linux下百度网盘一直进入不了登陆界面的解决方案
- tcc读写文本txt文件
- 带有示例的Python date strftime()方法
- springBoot 简单优雅是实现文件上传和下载
- vue = 什么意思_Vue导入模块import xxx from '@/xxx'中的@是什么含义?
- android应用内存不断膨胀,在android中膨胀简单的xml布局时出现内存不...
- org.apache.shiro.session.UnknownSessionException: There is no session with id [xxxx]的解决方案
- Android开发技术周报 Issue#102
- 彼得.泰尔:认知未来是投资人的谋生之道
- AI芯片发展的前世今生
- C++ Primer 第三版电子版PDF
- echarts地图整体渐变色
- Python爬取图片显示似乎不支持此文件格式
- 基于springboot+vue的水果销售系统附代码
- Files and Directories
- 正在完成android更新三星,手机实时动态:这些都是三星手机正在获取Android 10
- burpsuit 抓取https包,证书问题,此证书已在此前安装为一个证书权威机构
热门文章
- SAP Spartacus Media Component
- SAP CRM IBASE Solution manager callstack
- 使用SAP Analytics Cloud展示全球新冠肺炎确诊总人数的分布情况
- SAP Fiori Elements - How complex binding defined in XML view is parsed
- 有道云笔记里几种我觉得比较有用的操作
- SAP物料主数据创建时间和创建个数的函数关系
- SAP Marketing Cloud功能简述(二) Target Group
- React里所有已经加载的module列表
- SAP Marketing Engagement Management
- 使用nodejs创建Marketing Cloud的contact数据