一.while循环和for循环
1.用法
语法:
初始化表达式
while 条件表达式:
循环体
循环之后操作表达式
for 变量名 in 序列:
循环体
2.range
range([start,]end[,step]) 注:[]表示start和step可写可不写
start: 开始数字
end: 结束数字
step: 步长
start默认为0,step默认为1
功能:生成具有一定的规律的序列
代码演示::
range()
range[start,]end[,step])
例如:
range(100) 可以生成一个0-99的整数序列[不包含100]
range(1,100) 可以生成一个1~99的整数序列
range(1,100,2) 可以生成一个1~99之间的奇数序列
需求1:计算1~100之间所有整数的和
num1 = 1
sum1 = 0
while num1 <= 100:
sum1 += num1
num1 += 1
sum11 = 0
#借助于range生成一个1~100之间所有整数的序列,然后使用for循环进行遍历这个序列
for x in range(1,101):
sum11 += x
#需求2:计算1~100之间所有偶数的和
num2 = 1
sum2 = 0
while num2 <= 100:
if num2 % 2 == 0:
sum2 += num2
num2 += 1
num2 = 0
sum2 = 0
while num2 <= 100:
sum2 += num2
num2 += 2
sum22 = 0
for y in range(0,101,2):
sum22 += y
3.嵌套循环
代码演示:
while实现
需求打印九九乘法表
line = 1
while line <= 9:
colum = 1
while colum < = line
print('%d*%d=%d'%(colum,line,line*colum),end="")
colum += 1
print("")
line += 1
for 实现
外层循环:控制行
for i in range(1,10)
内层循环:控制列
for j i in range(1,i+1):
print({j}*{i}={i*j},end =" ")
print("")
二.break \ continue 和pass语句的使用
1.break:作用跳出循环[直接跳出整个循环,继续执行循环后面的代码]
代码演示:
#break的使用
#1.while
n = 0
while n < 5:
print("n = %d"%(n))
#print("n =" ,n)
#注意:if语句充当的是一个条件判断
if n == 3:
break
n += 1
print("over")
2.for
for x in range(1,6):
print("x = %d"%(x))
if x == 3:
break
#结论:不管是while语句还是for语句,break的作用结束整个循环
#3.特殊情况一
#不管while中的条件是否满足,else分支都会被执行
#思考问题:如果在while循环体中出现了break,else分支还会执行吗?-------不会
m = 0
while m < 3:
print(m)
if m == 1:
break
m += 1
else:
print("else")
#4.特殊情况二
#当break使用在嵌套循环中的时候,结束的是当前循环【就近原则】
x = 0
y = 0
while x < 20:
print("hello Python",x)
x += 1
while y < 5:
print("hello Python~~~~",y)
if y == 2:
break
y += 1
#break
#注意:break是一个关键字,使用的过程中,单独就可以成为一条语句,后面不能跟任何的变量或者语句
2.continue: 作用跳出当前正在执行的循环,继续执行下一次循环
代码演示:
1.for
for i in range(10):
print(i)
if i ==3:
contnue
print(" * ")
for i in range(10):
print(i)
if i == 3:
break
print("*")
#总结:continue只是结束当前正在执行的循环,而break表示直接结束整个循环
# 2.while
"""
num = 0
while num < 10:
print("num = %d"%(num))
num += 1
if num == 3:
continue
"""
num = 0
while num < 10:
if num == 3:
num += 1
continue
print("num = %d" % (num))
num += 1
3.pass
python中的pass是一条空语句
作用:为了保持代码的完整性,趴身上不做任何操作,只是充当了一个占位语句,保证代码可以正常运行起来
应用场景: if ,while , for 中使用,可以在代码的部分补贴加任何语句,代码正常运行
代码演示:
while True:
pass
print("over')
4.练习
代码演示
需求:判断一个数是否是素数[质数]
方式一
num1 = int(input("请输入一个数:"))
#思路:一个数能被其他数整除,将次数记录下来
#条件:在2~num1 - 1的范围内,找到一个数能将num1整除,count1 + 1
count1 = 0
for i in range(2,num1):
#整除:求余【大数对小数求余】
if num1%i ==0:
count + = 1
if count1 == 0 and num1 != 1:
print("是质数")
else:
print(" 不是质数")
#方式二:
#思路:假设num2是质数,寻找不成立的条件【有数能被整除】将假设推翻掉
num2 = int(input("请输入一个数:"))
#定义一个布尔类型的变量,用于记录这个数是不是一个质数
is_prime = True
for j in range(2,num2):
if num2%j ==0:
is_prime = False
break
if is_prime == True and num2 !=1:
print("是质数")
else:
print("不是质数")