醋醋百科网

Good Luck To You!

Python的分支结构和循环结构



由于顺序结构相对简单,本文不做讲解,将重点突出分支结构和循环结构

分支结构



顺序结构:代码从上往下按顺序执行,每条语句只执行一次 分支结构:执行代码的时候根据条件选择执行代码 循环结构:可以让代码重复执行(for,while)

1.if单分支结构

语法: if 条件语句: 代码块

# 案例:

num=828
if num//100==num%10:
    print(f'{num}是回文数')

year =2000
if year%4==0and year%100!=0 or year%400==0:
    print(f'{year}是闰年')

2.if双分支结构

语法: if 条件语句: 代码块1(满足条件执行) else: 代码块2(不满足条件执行)


# 案例:
num1=12
if num1 % 2==0:
    print('偶数')
else:
    print('奇数')

x=[]
if type(x)==int or type(x)==float:
    print('数字类型')
else:
    print('非数字类型')

3.if多分支结构

方法1:

if 条件1: 代码块1 if 条件2: 代码块2 if 条件3: 代码块3

方法2:如果多个条件之间,有一个条件成立,其他条件绝对不可能成立时,适合

if 条件1: 代码块1 elif 条件2: 代码块2 elif 条件3: 代码块3 else: 代码块4

score = 95
if score >100:
    print('天赋异禀')
elif 90<=score: print elif score>=80:
    print('良好')
elif score>=70:
    print('中等')
elif score>=60:
    print('及格')
else:
    print('弱爆了')

4. 分支嵌套

案例:根据num的属性值打印偶数、奇数和 4的倍数

num=24
if num%2==0:
    print('偶数')
    if num%4==0:
        print('4的倍数')
else:
    print('奇数')

循环结构



1.for循环--让代码重复执行

1)语法: for 变量 in 序列: 循环体

2)说明: for 关键字;固定写法 变量 变量名(已经定义过的变量或者没有定义的也都可以) in 关键字;固定写法 序列 容器型数据类型的数据,例如:字符串、列表、字典、元组、集合、迭代器、生成 器、range : 固定写法 循环体 结构上,就是和for保持一个缩进的一条或者多条语句(至少一条),逻辑上,循环体就是需要重复自行的代码

3)循环原理 让变量去序列中去取值,一个一个的取,每取一个就执行一次循环体。 如果要控制for循环的次数,只需要控制序列中元素的个数 '''

range函数 -创建等差数列

''' 1)range(N) -创建[0,N)的等差数列,差是1 例如:range(5)- 0,1,2,3,4 range(10)- 0,1,2,3,4,5,6,7,8,9,10

2)range(M,N) -创建[M,N)的等差数列,差是1 例如:range(5,11)- 5,6,7,8,9,10

3)range(M,N,step) -创建[M,N)的等差数列,差是step 例如:


# 案例:使用range函数创建以下等差数列
# 11 12 13 14 15
# 11 13 15 17 19
# -2 -1 0 1 2
# 0 5 10 15 20
# 10 8 6 4 2

for i in range(11, 16):
    print(i,end=' ')
print()

for i in range(11, 20, 2):
    print(i,end=' ')
print()

for i in range(-2, 3):
    print(i,end=' ')
print()

for i in range(0, 21, 5):
    print(i,end=' ')
print()

for i in range(10,0,-2):
    print(i,end=' ')

累计求和

方法:

第一步:定义一个变量来保存最后的结果,变量默认值为0 第二步:使用循环获取需要求和的每一个数据 第三步:每取到一个数据,就往变量中价上这个数据


# 案例1:求1+2+3+......+100
sum=0
for i in range(101):
    sum+=i
print(sum)

# 案例2:求100~200中所有能被3整除但是不能被5整除的和
sum = 0
for i in range(100,201):
    if i %3==0and i%5:
        sum+=i
print(sum)

# 案例3:求分数列表中所有学生的总分
scores = [90, 45, 78, 92, 89, 74, 50, 91, 99, 80, 87, 63, 82]
sum = 0
for i in scores:
    sum+=i
print(sum)

num = 0
for i in scores:
    if i<60:
        num+=1
print(num)

# 练习:统计100以内能被3整除的数的个数
num=0
for i in range(0,100,3):
        num+=1
print(num)

2.while循环

1.while循环

1)语法 while 条件语句: 循环体

2)说明 while 关键字;固定写法 条件语句 一般是判断语句(实际上可以是任意有结果的表达式) : 固定写法 循环体 结构上,就是和while保持一个缩进的一条或者多条语句(至少一条),逻辑上,循环体就是需要重复自行的代码

3)循环原理 不断判断条件语句是否成立,成立就执行循环体,不成立就结束循环体

案例:写程序提示用户输入正确密码,直到输入正确为止

pw='1234'
value = None
while value!=pw:
    value=input('请重新输入密码:')

2.循环关键字

continue和break: 结束循环(只能在循环体中使用)

1)continue 结束一次循环(执行的时候遇到continue, 这次循环结束直接进入到下次循环)

for i in range(11):
    if i %3==0:
        continue
    print(i)

2)break 结束整个循环(执行循环体的时候,遇到break直接结束整个循环,当次循环没有执行的不再执行,也不进入下一个循环)

for i in range(10,20):
    print(i)
    if i %4==0:
        break

小游戏:猜数字

from random import randint
num=randint(0,101)
s=0
num1=None
while num1!=num:
    s += 1
    if s > 5:
        print('次数用完了哟,下回努力,正确数字是:',num)
        break
    num1 = int(input('请输入你选择的数字:'))
    if num1>num:
        print('大了,小点儿')
        continue
    if num1<num:
        print('小了,大点儿')
        continue
if s<=5:
    print(f'牛逼,就是{num}')
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言