从零开始学Python(第三天 ——循环)


在这里插入图片描述

第三天

在第二天的巩固练习时,已经使用到了大量的循环语句,此篇文章就是来加强循环的使用的

循环就是重复执行的代码

3.1 while循环加强

while循环的基础使用

#求 0~100以内的偶数?
a = 0
while a<101:
	if a%2 == 0:
		print("%s是偶数"%a)
	if a %2 == 1:
		print("{}是奇数".format(a))
	a+=1
	
#100~300以内奇数的和?
a = 100
add = 0
while a<=300:
	if a%2 != 0:
		add+=a
	a+=1
print("100-300间奇数的和是: ",add)

3.1.1 break、continue关键字

​ break 是解释当前循环,只能中止距他最近的一次循环
​ continue是结束本次循环门进入下次循环

请根据下面的实例来详细了解这两个关键字,因为及其重要

while循环加强
while condition:
循环体
[else:
循环正常执行完成后,才执行的;若else没有被打断,就会执行
如果循环被非正常终止,则不会执行else中的代码;被break打断后就不会只执行else
]

举例:

#代码
num = 5
while num > 1:
	num -= 1
	print("num的值是{}\t".format(num))
else:
	print("循环正常执行完成后,打印此句话")
#执行代码
D:\网络安全\Python\py_code>python Class3_while循环加强.py
num的值是4
num的值是3
num的值是2
num的值是1
循环正常执行完成后,打印此句话

#若添加break的跳出语句,则会导致与while配套的额else不会执行
num = 5
while num > 1:
	num -= 1
	print("num的值是{}\t".format(num))
	if num == 3:
		print("由于循环被打断中止了,所以打印此句话!")
		break
else:
	print("循环正常执行完成后,打印此句话")
#代码执行
D:\网络安全\Python\py_code>python Class3_while循环加强.py
num的值是4
num的值是3
由于循环被打断中止了,所以打印此句话!

3.1.2 random模块介绍

|-- 随机数 random模块	伪随机
		import random
		random.randint(a, b)
		random.random()		# 返回[0~1)的随机数
		使用dir()来获取某些系统库函数的方法
		使用help()来获得某些方法如何使用

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>> help(random.randint)
Help on method randint in module random:

randint(a, b) method of random.Random instance
    Return random integer in range [a, b], including both end points.
>>>

小试牛刀:

#完成以下直角三角形的打印
*
**
***
****
*****
index = 1
vol = int(input("please input your hangshu: "))
#从1开始到用户输入的数字结束,表示打印出来的行数
while index <= vol:
	#内部循环用于打印*,但是要根据第几行来决定打印*的数量
	sec = 1
	#内部循环从1开始到行数结束,第几行就打印几个*
	while sec <= index:
		print("*",end="") #注意不能换行
		#控制内部循环终止的条件
		sec += 1
	#控制外部循环终止的条件
	index += 1
	print("") #注意,外部循环,即每打印一行是要进行换行的
#执行代码
D:\网络安全\Python\py_code>python Class3_直角三角形的打印.py
please input your hangshu: 5
*
**
***
****
*****

注意:在程序中,数字0表示假,非零即真,空字符串表示假,其他表示真;None;False

3.2 for循环

for 循环
python的中的for循环本质就是用来迭代数据的 可迭代对象(Iterable对象)

python中的for循环本质是用来迭代可迭代对象

​ 举例:列表的遍历 ls是一个列表,后面会详细介绍

ls = ["1","2","3"]

for u in ls:

	print(u,end="") #print()函数默认是换行的,将end参数设置为空,则就不会换行

#输出的内容是
123

3.2.1 range函数

range()函数的使用
​ range(n) 表示一个区间范围的递增的数据 [0, n)
​ range(m, n) 表示一个区间范围,[m, n)的区间
​ range(m, n, s) 第三个值表示步长step

帮助文档

>>> help(range)
Help on class range in module builtins:

class range(object)
 |  range(stop) -> range object
 |  range(start, stop[, step]) -> range object
 |
 |  Return an object that produces a sequence of integers from start (inclusive)
 |  to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
 |  start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
 |  These are exactly the valid indices for a list of 4 elements.
 |  When step is given, it specifies the increment (or decrement).
 翻译一下
 
>>>帮助(范围)

模块内置中有关类范围的帮助:


类范围(对象)

|范围(停止)->范围对象

|范围(开始,停止[,步骤]->范围对象

|

|返回一个对象,该对象从一开始就生成一个整数序列(包括)

|一步一步地停止(排除)。范围(i,j)产生i,i+1,i+2,…,j-1。

|开始默认为0,停止被忽略!范围(4)产生0、1、2、3。

|这些正是4个元素列表的有效索引。

|当给定step时,它指定增量(或减量)。 
课堂小练习:
#完成99乘法表
1x1=1
1x2=2 2x2=4
...
1x9=9 2x9=18 ... 9x9=81

#控制输出的行数 9行 1-9
for i in range(1,10):
	#控制每行输出的内容 从1开始到本行的大小结束
	for j in range(1,i+1):
		print("{}x{}={}".format(j,i,i*j),end="\t")
	#每输出一行换行
	print()
程序执行输出如下
1x1=1
1x2=2   2x2=4
1x3=3   2x3=6   3x3=9
1x4=4   2x4=8   3x4=12  4x4=16
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

3.2.2 两种循环的比较与总结

​ 在程序设计开发的过程中,作为程序最基本的选择结构和循环结构,编写基础代码的过
程中,占据了非常重要的地位,对这两部分的内容的操作要非常熟练。

选择结构
python 只是提供了一种 if 选择结构,极大程度的简化了根据条件进行不同数据处理逻辑的控制
循环结构
➢ python 提供了 for…in 循环结构和 while 循环结构
➢ for…in 循环结构注重于对固定数据列表的循环遍历和使用

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
92讲视频课+16大项目实战+课件源码  为什么习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。   本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。  二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助员扎实数据采集能力,避免没有数据可分析的尴尬。  四、分析工具篇: 讲解数据分析避不开的科计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。  五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度习,让你不仅能用起来,了解原理,还能知道为什么这么做。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值