Python进阶 (判断与循环)

这篇博客详细介绍了Python中的判断与循环语句,包括if单分支、if-else二分支、if-elif-else多分支、三目运算符的语法、执行流程和实例。此外,还讲解了for循环在字符串、列表、字典和Set集合中的遍历,以及while无限循环、break和continue的使用,并探讨了循环中的else子句。最后,通过函数展示了如何在实际编程中应用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#判断语句if

##单分支

语法

"""

 if 条件:

     代码块

 1.冒号必须是英文状态下

 2.必须要缩进

"""

执行流程

代码

"""

 eval(字符串)

 1.把字符串转换成int类型

   a = eval("10")

   print(a) #10

   print(type(a)) #<class 'int'>

 2.对字符串进行计算

   a = "3*2" 

   print(a) #3*2

   b = eval(a)

   print(b) #6

"""

#input("请猜一个数字") ---Str

#eval() 把Str转换成int

guess  = eval(input("请猜一个数字"))

if guess ==99:

    print("恭喜你猜对了") #恭喜你猜对了

##二分支

语法

"""

 if 条件:

     代码块

 else:

     代码块

"""

执行流程

代码

guess  = eval(input("请猜一个数字"))

if guess == 99:

    print("恭喜你猜对了")

else:

    print("谢谢惠顾")

##多分支

语法

"""

 if 条件:

     代码块

 elif 条件:

     代码块

 elif 条件:

     代码块

  ........

  else:

      代码块

"""

执行流程图

代码

score = eval(input("请输入一个成绩:"))

if score >= 90:

    print("a")

elif 90 > score>=80:

    print("B")

elif 80 >score>=70:

    print("C")

elif 70>score>=60:

    print("D")

else:

    print("不及格")

#三目运算符

语法

满足条件的代码块  if 条件 else 不满足条件的代码块

执行流程

代码

guess  = eval(input("请猜一个数字"))

"""

 三目运算符

   if的缩写

满足条件的代码块  if 条件 else 不满足条件的代码块

"""

print("恭喜你,猜对了")if guess == 99 else print("谢谢惠顾")

注意

  1. 必须是二分支语句

##条件判断以及组合

操作符

数学符号

描述

<

<

小于

<=

小于等于

>=

大于等于

>

>

大于

==

=

等于

!=

不等于

操作符及使用

描述

x and y

两个条件x和y的逻辑与

x or y

两个条件x和y的逻辑或

not x

条件x的逻辑非

练习

分类

国际**BMI值** (kg/m^2**)**

国内**BMI值** (kg/**m^2)**

偏瘦

<18.5

<18.5

正常

18.5 ~ 25

18.5 ~ 24

偏胖

25 ~ 30

24 ~ 28

肥胖

≥30

≥28

公式:BMI = 体重 (kg) / 身高2 (m2)

需求:按照国内指标,输入一组数据,判断是胖是瘦

#循环语句for

语法

"""

 for 变量 in 遍历结构:

     代码块

"""

执行流程

用法

字符串遍历

Str = "hello python"

for  i in Str:

    print(i)

"""

h

e

l

l

o

p

y

t

h

o

n

"""

列表遍历

list01 = ["赵丽颖","舒畅","戚薇","朱梓骁"]

for i in list01:

    print(i)

"""

 赵丽颖

 舒畅

 戚薇

 朱梓骁

"""

字典遍历

dict01 = {"天龙八部":"段誉","倚天屠龙记":"张无忌","九阴真经":"周芷若","射雕英雄传":"郭靖"}

"""

 1.用普通遍历,只能打印key

    天龙八部

    倚天屠龙记

    九阴真经

    射雕英雄传

"""

for i in dict01:

    print(i)

"""

 2.字典.items()  返回一个元组("天龙八部","段誉")

    ('天龙八部', '段誉')

    <class 'tuple'>

    ('倚天屠龙记', '张无忌')

    <class 'tuple'>

    ('九阴真经', '周芷若')

    <class 'tuple'>

    ('射雕英雄传', '郭靖')

    <class 'tuple'>

"""

for t in dict01.items():

    print(t)

    print(type(t))

"""

 3.获取单独的key和value,就是想办法把元组拆分,返回基本数据类型

     把元组赋值给两个变量

    天龙八部

    <class 'str'>

    段誉

    <class 'str'>

"""

for k,v in dict01.items():

    print(k)

    print(type(k)) #Str

    print(v)

    print(type(v)) #Str

Set集合遍历

set01 = {1,2,3,4}

for i in set01:

    print(i)

#无限循环(while)

语法

"""

 while 条件:

     变量改变公式

     代码块

"""

代码

a = 10

while a>0:

    #变量不断改变,为了满足条件,避免进入死循环

    a -= 1

    print(a)

break continue

break跳出并结束当前整个循环,不执行循环后的语句

continue结束当次循环,继续执行后续次数循环

执行流程

代码

for i in [1,2,3,4,5]:

    if i==2:

        break

    print(i) #1

for i in [1,2,3,4,5]:

    if i==2:

        continue

    print(i) #1

"""

 1

 3

 4

 5

"""

循环加else

语法

"""

  for  变量 in 遍历结构:

      代码块

  else:

      代码块

"""

执行流程

"""

 1.先执行完for循环

 2.执行完以后执行else

"""

代码

for i in [1,2,3,4,5]:

    print(i)

else:

    print("循环结束")

同理,while能不能加else,可以,和上面一样

while语法

while <条件> : 

    <语句块1>

else : 

    <语句块2>

#循环结束后,会执行else的代码

 function 方法

  *代表可以接受多个数据

def func_sum(x,*y):

    #定义一个sum01变量接收求和

    sum01 = x

    #由于y是多个数据,所以利用for循环获取数据

    for i in y:

        # sum01 = sum01 +i

        sum01 += i

    #要和,要等相加完成之后在输出,所以要for循环束

    return sum01

练习

"""

2.  定义一个函数,传入一个列表[1,2,3,4,5,6,7],把列表中的奇数返回,返回一个新的列表

list01  = [1,2,3,4,5,6,7]

l = func_ji(list01)

print(l)  #[1, 3, 5, 7]

"""

#定义一个函数,传入一个列表

def func_ji(list01):

    list02 = []

#把列表中的奇数返回

    for i in list01:

        if i%2 == 1:

            list02.append(i)

 #返回一个新的列表

    return list02

#   定义一个函数,传入用户id

def func_if(id):

    #获取id的长度

    length01 = len(id)

    #length01 > 5 比较运算符,本身就会返回Ture  False

    return length01 > 5

id = "YJ123409"

print(func_if(id)) #True

#定义一个函数,统计字符串

def func_count(Str):

    num = 0

    zimu = 0

    kongge = 0

    other = 0

    for i in Str:

        #判断是否是数字

        if i.isdigit():

            num += 1

         #判断是否是字母

        elif i.isalpha():

            zimu += 1

         #判断是否是空格

        elif i.isspace():

            kongge += 1

        else:

            other += 1

    return num,zimu,kongge,other

Str = "I love,you 1314"

"""

等号右边有四个值,等号左边要有四个变量

a,b,c = 10,"张三",[1,2,3,4]

a =10

b = "张三"

c = [1,2,3,4]

"""

a,b,c,d =  func_count(Str)

print(a)

print(b)

print(c)

print(d)

"""

4

8

2

1

"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值