Day3 总结 循环
一、if多分支结构
1. 应用场景
根据不同的条件执行不同的操作
2. 语法
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
…
else:
代码段N
3. 执行过程:
从上往下依次判断条件语句的结果是否为True,如果为True就执行这个 if 或者 elif 对应的代码段,执行完if再判断后面的条件,也不在执行后面的代码段。else后面的代码执行有在前面所有的条件都不满足的时候才会执行。
- 例题:输入成绩,如果输入的
成绩在90分以上(含90分)输出A;
80分-90分(不含90分)输出B;
70分-80分(不含80分)输出C;
60分-70分(不含70分)输出D;
60分以下输出E。
grade = 50
if grade >= 90 :
print('A')
elif grade >= 80 :
print('B')
elif grade >= 70 :
print('C')
elif grade >= 60 :
print('D')
else:
print('E')
4. if 的嵌套
- 例题:输入一个数,如果输入的数是偶数就打印’偶数’,否则打印奇数,如果这个数能被4整除,还要打印’4的倍数
num = int(input('输入:'))
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
二、for循环
1. 循环结构
让代码重复执行(for,while循环)
2. for循环
- 语法:
for 变量 in 序列:
循环体
说明:for、in、冒号-固定写法,关键字
变量-------变量名
序列------容器型数据类型的数据,比如:字符串、列表、元祖、集合、字典、迭代器、range、等
循环体------和for保持一个缩进的一条或者多条语句,需要重复执行的代码。
for x in 'abcd':
print('hello!')
第一次循环x = ‘a’,执行print(‘hello!’)
第二次循环x = ‘b’,执行print (‘hello!’)
第三次循环x = ‘c’,执行print (‘hello!’)
3. range函数的使用
- range直接用
range(N)------产生0到N-1的数字范围
- range(M,N)----产生M到N-1的数字范围(M…M+1…M+2…N-1),M必须小于N
- range(M,N,step)—产生M到每次加step产生下一个数 -----例如:range(1,10,2)—1、3、5、7、9
- 例题1:产生数字范围-100~-1并且打印出来
for z in range(-100, 0):
print(z)
- 例题2: 写程序产生数字:
5,4,3,2,1
for x in range(5, 0, -1):
print(x)
- 例题3:求1+…100的和
sum=0
for x in range(1,101):
sum += x
print(sum)
- 例题4:求10+20+30…100的和
sum2 = 0
for x in range(10, 101, 10):
sum2 += x
print(sum2)
- 例题5:统计1-100中能被3整除的数的个数
count = 0
for x in range(3, 101, 3):
count += 1
print(count)
4.while 循环
-
语法:
while 条件语句:
代码段(循环体)说明:while,冒号----------固定写法
条件语句---------------任何有结果的表达式(单独的赋值语句不能使用)
循环体--------------------和 while 保持一个缩进的一条或者多条语句:需要重复执行的代码
-
执行过程
不断判断条件语句的结果是否为True,为True就执行循环体,然后再判断,如果为False,循环结束。
num = 0
while num < 5:
print('成都')
num += 1
注:for循环和while循环的选择:循环次数确定就使用for,不确定就使用while
- 例题:不断输入数据,直到输入的内容是零为止。
num = float(input('请输入数字:'))
while num != 0:
num = float(input('请输入数字:'))
5. 循环关键字
continue、break、else
-
continue:只能出现在循环体内
continue的作用:直接结束当次循环,直接进入下次循环的判断。
for num in range(1, 10):
if num % 3 == 0:
continue
print(num)
-
break:只能出现在循环体内
break的作用是直接结束整个循环
while True: ##输入一个数,当数字为0时结束循环
value = int(input('请输入数字:'))
if value == 0:
break
- 例题:使用while循环打印1-10
num = 1
while True:
print(num)
num += 1
if num > 10:
break
- else:else的存在不影响原来程序的执行,当循环的自然结束时,才会执行else下面的代码段,如果循环是因为遇到break结束的,就不会执行else下面的代码段。
for x in range(3):
print(x)
else:
print('else中的代码') ##自然结束,会执行else
for x in range(3):
print(x)
if x == 2:
break
else:
print('else中的代码') # 遇到break结束,不会执行else
- 例题:判断一个数是否是质数
num = 17
for x in range(2, num):
if num % x == 0:
print(num, '不是质数')
break
else:
print(num, '是质数')