第三天
在第二天的巩固练习时,已经使用到了大量的循环语句,此篇文章就是来加强循环的使用的
循环就是重复执行的代码
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 循环结构注重于对固定数据列表的循环遍历和使用
转载:https://blog.csdn.net/qq_41959899/article/details/106469391