Python基础

一、流程控制——while循环

1.1语法

​ 我们有时候需要用循环重复来解决问题,例如登陆账号的时候,输入错误了,我们需要再重复进行输入。这时候我们就需要使用while进行循环,while循环也称条件循环。

while True:
    user = 'qq'
    pwd = '123'
    inp_user = input('请输入你的账号:')
    inp_pwd = input('请输入你的密码:')
    if inp_user == user and inp_pwd == pwd:
        print('登陆成功')
    else:
        print('密码或账号错误')

1.2 while + break

​ break可以在满足条件的时候结束当前循环。

while True:
    user = 'qq'
    pwd = '123'
    inp_user = input('请输入你的账号:')
    inp_pwd = input('请输入你的密码:')
    if inp_user == user and inp_pwd == pwd:
        print('登陆成功')
        
        breka
        
    else:
        print('密码或账号错误')

1.3 while + comtinue

​ comtinue可以结束本次循环,直接执行下一次循环。

​ 例如:在小于10的整数中,将3挑出,并将其它数字输出。

a = 1
while a < 10:
    if a == 3:
        a += 1
        continue
    print(a)
    a += 1

​ 注意,continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义,

1.4 while + else

​ else是和while同一个级别的代码,输入时不再while语句内。若语句中有break的时候,只有在break没有被执行的情况下才会执行else。

​ 注意,whie + elsa的形式一般不使用。

二、流程控制——for循环

2.1语法

​ for循环,用于循环容器数据类型。

car_lis = ['Honda','BMW','Toyato','BYD']
for i in car_lis:
    print(i)
  
Honda
BMW
Toyato
BYD

​ 字典取多个值的时候,也可以使用for循环。

info_ = {'name':"qq",'hobby':'read'}
for i in info_:
    print(i)

    
name
hobby

​ for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。

​ for循环也可以按照索引取值。

for i in range(1,5):
    print(i)
    
1
2
3
4
car_lis = ['Honda','BMW','Toyato','BYD']
for i in range(len(car_lis)):
    print(i,car_lis[i])
    
0 Honda
1 BMW
2 Toyato
3 BYD

2.2 for + break

​ for循环调出本层循环

car_lis = ['Honda','BMW','Toyato','BYD']
for car in car_lis:
    if car == 'Toyato':
        break
    print(car)
    
Honda
BMW

2.3 for + continue

​ for循环调出本次循环,进入下一次循环。

car_lis = ['Honda','BMW','Toyato','BYD']
for car in car_lis:
    if car == 'Toyato':
        continue
    print(car)
  
Honda
BMW
BYD

2.4 for循环嵌套

​ 外层循环循环一次,内层循环循环所有的。

n = 5
for i in range(n + 1):
    for j in range(2 * n):
        if (n - i - 1) < j < (n + i - 1):
            print('*', end='')
        else:
            print(' ', end='')
    print('')
    
          
    *     
   ***    
  *****   
 *******  
********* 

2.5 for + else

​ for循环没有break的时候触发else内部代码块。

car_lis = ['Honda', 'BMW', 'Toyato', 'BYD']
for i in car_lis:
    print(i)
else:
    print('for循环没有被break中断掉')
    
Honda
BMW
Toyato
BYD
for循环没有被break中断掉

2.6 for循环实现Loading

print('Loading')
for i in range(6):
    print(".")
    
Loading
.
.
.
.
.
.
print('Loading', end='')
for i in range(6):
    print(".", end='')

Loading......

​ 补充:\r 表示原位打印,覆盖上一次的打印结果,将其删除后在打印本次,

三、对比while和for

3.1 while:

​ 会进入死循环(不可控),尽量少使用while循环;

​ 世间万物都可以作为循环对象。

3.2 for

​ 不会进入死循环(可控),尽量使用for循环;

​ 只对容器类数据类型进行循环(可迭代对象)。

猜你喜欢

转载自www.cnblogs.com/tangceng/p/11285353.html