python基础(五)----流程控制(下)

目录

1.1 循环结构

1.1.1 while 循环

1.1.2 for 循环

2.1 break和continue

3.1  循环嵌套

4.1 序列类型遍历

5.1 练习

6.1 答案 解析


1.1 循环结构

循环就是将一段代码不断的重复执行,直到循环结束程序才会继续往下走

1.1.1 while 循环

语法结构
if 条件表达式:
    代码块
    
while 条件表达式:
    代码块   
    
if 在条件成立时会输出一遍  代码块
while 在条件成立时 会进入代码块 但是while循环会不断的重复执行代码块,直到条件表达式为False的时候才会结束
# 1.定义一个初始的变量
a = 0
# 2.定义循环条件
while a < 10:
    print('我进来了~')  # 代码块 -》循环体

    # 3.让变量不断接近出口
    a = a + 1
# 打印 1~100的所有数字
# 1.循环初始条件
numb = 1
# 2.当numb小于100的时候
while numb <= 100:
    print('numb =',numb)
    # 3.变量变化量
    numb += 1
print('循环结束')
# 计算 1+2+3....+100

sum = 0  # 初始化一个去累计的变量

a = 1
while a <= 100:
    sum = sum + a  # 0 + 1 + 2 + 3 + 4 + 5 +.... 100

    a += 1  # a = a + 1

print(sum)

1.1.2 for 循环

python分别有两种循环,分别是while和for,for循环能干的 while一定能干

语法

for 变量名 in range(n):
    循环体
    
for b in range(1,11):
    print(b)
    

# 打印 1 ~ 100 中 所有的偶数
for i in range(2,101,2):
    print(i)
    
sum = 0
# 打印 1 ~ 100 的累加和   # 1+2+3+...100
for i in range(1, 101): # i = 1 , i = 2 , i = 3
    print(i) 

print(sum)


while True:
    u = input('请输入账号:')
    p = input('请输入密码:')
    if u == username and p == password:
        print('登录成功')
        break  # 结束整个循环
    else:
        print('账号或密码错误,请重新输入')

2.1 break和continue

break和continue是循环中满足一定条件退出循环的两种方式

break:退出整个循环

continue:退出本次循环,继续执行下一次循环

大锤在吃苹果,一共10个苹果,吃苹果

1.如果吃的过程中,大锤吃到第3个的时候觉得吃饱,则不需要继续吃了
--break  终止整个循环

2.如果吃的过程中,大锤吃到第3个的时候吃到了一个毛毛虫,扔掉,吃第四个苹果。 
--continue 退出当前依次循环,但是整个循环还在继续

3.1  循环嵌套

循环嵌套:循环中还可以继续循环

for i in range(2):  # 开始,结束,步长   如果range只有1个参数, 表示从0开始,这个参数表示结束
    print('==========外层')
    for j in range(5):
        print('===里级')
 打印一栋楼的房间号
for i in range(1, 6):
    for j in range(1, 10):
        print(str(i) + "0" + str(j) + "号", end=' ')
    print()  # print()  表示换一行

4.1 序列类型遍历

遍历:序列里面的所有元素,都一个一个访问的,全体一遍

通俗:循环从第一个元素到最后一个元素依次访问一次

遍历的第一种方式 : 下标原理

for 变量名 in range(len(序列)):
    print(序列[变量名]) 

遍历的第二种方式 :迭代原理

语法

for 变量名 in 序列:
    print(变量名)
    
饮料_碳酸饮料 = ['可口可乐', '雪碧', '美年达', '芬达', '百事可乐']
for i in 饮料_碳酸饮料:  # i 直接表示元素里面的内容
    print(i)
第一种:可以拿到下标
第二种:拿不到下标
	enumerate() : 对于一个可遍历对象,将其组成一个元组(下标,值),利用这个函数可以配合for循环遍历
饮料_碳酸饮料 = ['可口可乐', '雪碧', '美年达', '芬达', '百事可乐']
for i in enumerate(饮料_碳酸饮料):
    print(i[0],i[1])
#总结:以后比较常用的遍历方法基本2种
for i in range(len(序列)):
    print(序列[i]) # 优点  : 得到下标和值
for i in 序列:
    print(i)  # 优点 简洁 

5.1 练习

 1. 请求出 1 x 2 x 3 x 4 x .... 100

 2. 请求出 0 到 100 中大于50的偶数

'''
3. 
说到回文数,大家可能会比较的陌生,但是在我们的日常生活中常会遇到这样的数字,只是你不知道它是回文数罢了。
例如:121、212、101,这组数字就是回文数。指正向和逆向相等的数字。
请输出100~999之间的回文数
'''

'''
4.假设一张足够大的纸,纸张的厚度为0.5毫米。请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:8844.43米)。请编写程序输出对折 次数。
ps:1mm = 0.001m
'''

'''
5.堆积木是小孩子最爱玩的游戏,但是因为小孩子的好奇心(比如误食积木等)导致家长们越不愿意让孩子去玩积木,为了解决这个问题TX 公司开发了一套VR积木游戏,你要做的是将用户堆好的积木在屏幕中显示出来。
*******
*******
*******
*******

不可以使用
print(*******)
print(*******)
print(*******)
print(*******)
和
print(*******\n*******\n*******\n*******)

要求使用循环
'''

 6.输出阶梯形式的9*9乘法口诀表,如下图所示

6.1 答案 解析

# 1. 请求出 1 x 2 x 3 x 4 x .... 100
'第一种方法 while'
sum1=1
i=1
while i<=100:
    sum1*=i
    i+=1
print(sum1)
# '第二种方法 for'
sum1=1
for i in range(1,101):
    sum1*=i
    i+=1
print(sum1)
# 2. 请求出 0 到 100 中大于50的偶数
# '第一种方法 whlie'
i=0
while i<=100:
    i+=1
    if i%2==0 and i>50:
        print(i,end=' ')
# '第二种方法 for'
i=0
for i in range(0,101):
    i+=1
    if i%2==0 and i>50:
        print(i,end=" ")

# 3. 说到回文数,大家可能会比较的陌生,但是在我们的日常生活中常会遇到这样的数字,只是你不知道它是回文数罢了。
# 例如:121、212、101,这组数字就是回文数。指正向和逆向相等的数字。
# 请输出100~999之间的回文数
# '第一种方法 while'
i=100
gw=0
qw=0
while i<=999:
    i+=1
    gw=i%10    #个位
    qw=i//100   #千位
    if gw==qw:
        print(i,end=' ')
# '第二种方法 for'
i=100
gw=0
qw=0
for i in range(100,1000):
    i+=1
    gw=i%10
    qw=i//100
    if gw==qw:
        print(i,end=" ")
#

# 4.假设一张足够大的纸,纸张的厚度为0.5毫米。请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:8844.43米)。请编写程序输出对折次数。
# ps:1mm = 0.001m
#0.5毫米=0.0005米
'第一种方法 while'
a=0.0005
n=0
while n<100:
    a*=2
    n+=1
    if a>=8844.43:
        print(n)
        break
# '第二种方法 for'
height=0.0005
for i in range(0,100):
    height*=2
    i+=1
    if height>=8844.43:
        print(i)
        break


# 5.堆积木是小孩子最爱玩的游戏,但是因为小孩子的好奇心(比如误食积木等)导致家长们越不愿意让孩子去玩积木,为了解决这个问题TX 公司开发了一套VR积木游戏,你要做的是将用户堆好的积木在屏幕中显示出来。
# *******
# *******
# *******
# *******
#
# 不可以使用
# print(*******)
# print(*******)
# print(*******)
# print(*******)
# 和
# print(*******\n*******\n*******\n*******)
#
# 要求使用循环
'第一种方法 while'
i=1
sum_1=0
while i<=4:
    sum_1=7*'*'
    i+=1
    print(sum_1)
'第二种方法 for'
sum1=0
for i in range(1,5):
    sum_1=7*'*'
    i+=4
    print(sum_1)


# 6.输出阶梯形式的9*9乘法口诀表,如下图所示
'第一种 方法 while-whlie'
print('打印九九乘法表')
i=1
while i<=9:
    j=1
    while j<=i:
        print(f'{j}*{i}={j * i}',end='\t')
        j+=1
    print("")
    i+=1
'第二种 方法for-for'
print('打印九九乘法表')
for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j}*{i}={j * i}',end='\t')
    print()
'第三种 方法 while-for'
print('打印九九乘法表')
i=1
while i<=9:
    for j in range(1,i+1):
        print(f'{j}*{i}={j * i}',end='\t')
    i+=1
    print()
'第四钟 方法 for-while'
print('打印九九乘法表')
for i in range(1,10):
    j=0
    while j

你可能感兴趣的:(python,基础,python)