python|控制结构

为什么要区分控制结构 ?
人生如戏,程序如人生,酸甜苦辣一样会出现在代码之中,各种条件,各种重复,有没有?

前面我们接触到的程序结构都是从下到上依次执行的,这种我们称之为顺序结构。那么一个程序仅有顺序结构就足够了?请思考下面的问题?

1.用户输入了两个整数a和b,如何打印最大的那个。
2.打印a的值2遍? 10遍? 100遍?


Python的控制结构有哪些?
1.顺序结构

从下到上依次执行

2.判断结构

判定结构是根据条件来决定接下来的行为。

if 条件a:
条件a成立执行的代码

elif 条件b:(条件a不成立才会跳到条件b)
条件b成立执行的代码

......

else:
以条件都不成立执行的代码

每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块

使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块

对两个数字进行判断,如果a>b 输出a大,并且输出a是基数还是偶数,如果a<b ,输出 b大,否则输出a=b

注意: 在判断嵌套下 不能直接写elif 需要先写if 否则会报错

判断嵌套
a = input("输入数字a:")
b = input("输入数字b:")
if a>b:
    if a%2 == 0:
        print(f"a大,{a}是偶数")
    elif a%2 != 0:
        print(f"a大,{a}是奇数")
    else:
        pass
elif a<b:
    print("b大")
else:
    print("a=b")

在嵌套if语句中,可以把 if...elif..else结构放在另外一个if..elif..else结构中
if 表达式1:

        语句

​         if 表达式2:

​                 语句

​         elif 表达式3:

​                 语句

​         else:

​                 语句

​ elif 表达式4:

​         语句

​ else:

​         语句

3.循环结构

比较运算符

if语句中常用的比较运算符书写方式:
if a > b:
if a <= b:
if a == b:
if a != b:
if not a: #当a为假时条件成立,等价于if a == False
if a: #当a为真时条件成立,等价于if a == True
在Python中会被认为是假(False) 的值: None、[]、‘’、{}、()

循环

*whlie循环语法
while 条件:
当条件成立,执行的代码
循环体
for循环语法
for新的变量in 可迭代对象:

        循环执行的代码

可迭代对象:数据类型中的值是可以被循环迭代,可迭代对象是指 列表,元祖,字典,集合
不可迭代的数据类型:数值型

whlie循环

begin = 1
sum_num = 0
while begin <= 100:
    sum_num += begin
    begin += 1
    print(sum_num,begin)

for循环

name = ['zhangsan','lisi','wangwu','zhouba']
for x in name:
    print (x)

上面是一个使用for循环来遍历列表的例子。使用for..in...的语法,循环读取name中的元素存放到变量x每存放一次就打印一次

需要循环输出一个列表中的值

ls = [12,13,14,15,16,"字符串",[666,777] ,(88,"元祖")]
for x in ls:
    print(x)

#print(ls)这是一种错误的写法

循环打印一个字符串的中的字符

for z in "wqgdffdgffasd" :
    print(z)

该如何选择for循环还是while循环

  1. for循环一般用在一个已知的集合里面进行循环的时候,比如列表里面循环、range数字范围内循环、集合循环、字典循环等
  2. while一般用于明确知道循环条件,比如大于某个值,或者某个值为真或为假时运行循环。
循环练习题目

for循环练习
1、求100-200以内同时能被7,8整除的数

for i in range(100,201):
    if (i%7 == 0 and i%8 == 0):
        print(i)

2、for循环实现 1+到100的和

i = 0
sum = 0
for i in range(1,100,1):
    sum += i
print(sum)

3、使用for循环实现 99乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}\t",end="")
    print()

嵌套循环

循环是可以嵌套使用的,当使用嵌套循环时,可以任意组合for和while循环来进行使用。

对于嵌套循环,需要注意外层循环和内层循环的执行顺序。

对于嵌套循环中使用break的情况,内层循环中的break只能跳出内层当次循环,无法直接跳出整个循环。

for i in range(10):
print(‘i的值为:’,i)
for n in range(10):
print('n的值为:',n)
if i == 5 and n ==5:
#如何退出内外全部循环??

for循环嵌套
for 变量1in 可选代对象1:

​ for 变量2 in 可迭代对象2:

​ 循环体

​ 判断
while 循环嵌套
while 条件1:

​ whlie 条件2:

​ 当条件1和2成立,执行的代码

​ 循环体

continue是跳出本次循环,直接进入下一次循环

循环中的continue和break
continue: 跳出本次循环继续下一次循环
break: 结束循环

循环中加入else
循环中加入else语法,主要用于实现使用循环在列表中查找某元素
例:随机生成一个有10个元素的分数列表(分数在50-70之间),要求检查该成绩列表里是否有刚好60分的成绩,有的话就打印有,没有的话就打印没有

循环中的else用法:
循环中打印1-100的数字,如果数字=66就打印66的值,否则打印什么也没有

for else_num in range(1,101):
    if else_num == 66:
        print(f"当前数字:{else_num}")
        break
    else:
        print("什么也没有")

练习:

1、随机生成一个有10个元素的分数列表(分数在50-70之间) ,要求检查该成绩列表里是否有刚好60分的成绩有的话就打印有,没有的话就打印没有。

import random
sj_list = random.sample(range(50,71),10)
bbb = []
for i in sj_list:
    bbb.append(i)
if 60 in bbb:
    print("有")
else:
    print("没有 ")

2、从控制台接收一个数字,判断这个数字是否在已知的列表中[1,2,3,4,5,6,7,8,9,10],如果在就打印数字存在否则打印数字不在。

list = [1,2,3,4,5,6,7,8,9,10]
i = int(input("请输入数字:"))
if i in list:
    print("i is in the list")
else:
    print("i is not in list")
  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值