2024年8月21日发(作者:)

循环
Python两种循环:遍历循环(for),无限循环(while)
一、遍历循环(确定了循环次数的循环)
几种类型:
1、计数循环(N次)
格式: For i in range(N):
<语句块>
功能:遍历由range( )函数产生的数字序列,产生循环。
举例:
举例:计算1+2+……+10的结果? (计数变量在循环体中可以使用)
2、计数循环特定次
格式: For i in range(M,N,K):
<语句块>
功能:遍历由range( )函数产生的数字序列,产生循环。
举例:
3、字符串遍历循环
格式: For c in s :
<语句块>
功能:s是字符串,遍历字符串每个字符,产生循环。
举例:
4、列表遍历循环
格式: For item in ls :
<语句块>
功能:ls是一个列表,遍历其每个元素,产生循环。
举例:
5、文件遍历循环
格式: For line in fi :
<语句块>
功能:fi是一个文件标识符,遍历其每行,产生循环。
举例:
我们目前只给大家讲了些简单的数据类型,后面会介绍元组类型,字典类型,这些数据类型都可以实现遍历循环。
举例:统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格
和其他字符的个数。(tf2)
举例2:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少
米?第10次反弹多高?(xq)
Sn = 100.0
Hn = Sn / 2
for n in _____:
Sn=Sn+ _ _ _
Hn /= 2
print( 'Total of road is %f' % Sn)
print( 'The tenth is %f meter' % Hn)
1 2 …… 10
举例3、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。(ht1) (ht2)
x = 1 x=1
for day in :
while :
print(x)
print(x)
无限循环:格式:
--反复执行语句块,直到条件不满足时结束。
举例:
循环控制保留字: break 和continue
1)break跳出并结束当前整个循环,执行循环后的语句。
2)continue结束当次循环,继续执行后续次数循环。
3)break 和 continue 可以与for 和while循环搭配使用。
举例:
双重循环举例:
break仅跳出当前内层循环,外层循环仍然有效!
举例1:用户输入行数和列数,输出指定行数和指定列数的"*"。例如输入行数为4,列数为5,则输出4行5列的
“*”。如图 提示:使用双重循环 (tf12) 列变,行变
*****
*****
*****
*****
举例2:乘法口诀表 (tf13) 提示使用双重循环
举例3:显示100以内与7无关的数。
n=1
while _____:
if n%7==0 or n%10==7 or n//10==7:
n=n+1
_____
print(n,end=' ')
n=n+1
循环的高级用法:(循环与else的搭配)
格式1: 格式2:
for <循环变量> in <遍历结构> : while <条件> :
<语句块1> <语句块1>
else : else :
<语句块2> <语句块2>
功能:当循环没有被break语句退出时,执行else语句块。这里else的用法与异常处理中的else用法类似。
举例:
举例1:变化举例2:猜数 (tf14)
举例2:输入一个数,判断是否是素数。(SS)
举例3:换成输出300以内的所有素数。(300以内素数)
1、在循环中continue语句的作用是跳出当前循环?
2、在循环语句中,__________语句的作用是提前结束本层循环。
3、在循环语句中,_______语句的作用是提前进入下一次循环。
4、对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码?
5、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码?
6、对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时________(会或不会)
执行else中的代码。
7、Python 3.x语句 for i in range(3):print(i, end=',') 的输出结果为_________。
8、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的?
random库介绍
1)random库是使用随机数的python标准库。使用random库的方法:import random
2)random库主要用于生成随机数。random产生的是伪随机数,是采用梅森旋转算法生成的(伪)
随机序列中的元素。
random库包括两类函数,常用的共8个。
-基本随机数函数: seed( ),random( )
—扩展随机数函数:randint( ),uniform( ),randrange( ),choice( ),shuffle( )
基本随机数函数
机数产生的算法是相同的,所以一旦种子相同,则产生的随机序列,无论是每一个数,还是数之间的关系都是
确定的。所以说随机数种子,确定了随机序列的产生。
举例:
那么,我们为什么要给种子呢?因为如果在编程中给出了随机种子,那么下一次程序再次运行,只要种子相同,
那么产生的随机数也是相同的。对于使用随机数的程序,我们可以复现或者再现程序运行的过程。
扩展随机数函数
左右都是闭区间喔!
sample(list,k)
返回一个长度为k新列表,新列表存放list所产生k
个随机不重复的元素。
>>>list = range(1, 10000);print((list ,5))
[6912, 1869, 5991, 721, 3388]
1、假设random模块已导入,那么表达式 (range(10), 7) 的作用是生成7个不重复的整数。
2、假设已导入random标准库,那么表达式 max([t(1, 10) for i in range(10)]) 的值一定是10。
3、Python标准库random的方法randint(m,n)用来生成一个[m,n]区间上的随机整数。
4、使用random模块的函数randint(1, 100)获取随机数时,有可能会得到100。
1、已知x为非空列表,那么表达式 (x) in x 的值为___________。
2、Python标准库random中的___________方法作用是从序列中随机选择1个元素。
3、random模块中_____________方法的作用是将列表中的元素随机乱序。
随机函数的使用:
举例1: 猜数游戏。在程序中预设一个0—9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,
显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”。如此循环,直至猜中该数,显示“预测N次,你猜
中了!”,其中N是用户输入数字的次数。(tf1)已经讲过类似的
举例2:我们来玩一个猜拳游戏!电脑和你比出拳!(剪刀,石头,布)
举例3:见书56页例3-22(tz)
循环举例:圆周率的计算
方法一:
程序实现:
给pi赋初值为0
——这个是续行符
方法二:
我们知道:
扇形阴影部分的面积为:pi*r*r/4
小正方形的面积为:r
2
我们可以假设,正方形的面积是由无
数个点组成的,这些点部分落在扇形阴影
区域内,部分落在扇形区域外。
因此我们可以认为扇形阴影部分面积
与小正方形面积之比,就是落在扇形阴影
区域内的点和落在整个小正方形内的点的
数量之比。这就是蒙特卡洛方法。把面积
之比转换成电的数量之比。
由此我们可以知道:
扇形面积/正方形面积=
pi*r*r/4/r*r=pi/4=扇形内的点/总点数
pi=(扇形内的点/小正方内的总点
数)*4
程序设计思路:我们随机生成若干个
小正方形内的数(100万?),然后判断这
些数是否落在扇形阴影内(也就是点到圆
心的距离是否小于等于半径),计算随机生
成的数中有多少数是落在扇形阴影面积内
的,然后除以总的随机数,最后乘以4,
即可得到pi值。(tf15)
程序的第3条语句,和最后一条语句
是计算运算时间的,函数功能可在第三章time库介绍中查看。
本文发布于:2024-08-21 15:59:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1724227140306366.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |