Python之循环嵌套

if嵌套语法

age = 18
height = 165
weight = 100
is_beautiful = True
is_success = True
if age < 26 and height >= 165 and weight <= 100 and is_beautiful:
    print('好看')
    if is_success:
        print('。。。')
    else:
        print('变态!!!')
​
else:
    print('不漂亮')

小练习

1. 做一个用户登录功能,用户名:chengzi,密码:123
    # 要求:用户名和密码都输入正确,打印来宾三位,否则:提示用户名或者密码错误
    # 1. 接收用户输入的用户名
    # 2. 接收用户的密码
    # 3. 比较用户名和密码是否正确
        # name='chengzi'
        # pwd='123'
        # name=input('请输入用户名》》:')
        # pwd=input('请输入用户密码》》:')
        # if name=='chengzi'and pwd =='123':
        #     print('男宾一位')
        # else:
        #     print('来找茬的')



        
2. 根据用户名的不同,打印不同的身份
# while True:
#     name=input('请输入用户名》》》》:')
#     if name=='chengzi':
#         print('管理员')
#     elif name =='chengcheng':
#         print('司机')
#     elif name =='zhu':
#         print('保安')
#     elif name =='%s'%name:
#         print('非内部人员')

循环结构

关键字:while
​
while True:
    username = input('请输入你的用户名:')
    password = input('请输入你的密码:')
​
    if username == 'chenzi' and password == '123':
        print('登录成功')
    else:
        print('登录失败')
​

while+break

while True:
    username = input('请输入你的用户名:')
    password = input('请输入你的密码:')
    if username == 'chengzi' and password == '123':
        print('登录成功')
        break # 跳出本层循环
    else:
        print('登录失败')
    # count += 1

break跳出本层循环的含义

while True:
    username = input('请输入你的用户名:')
    password = input('请输入你的密码:')
​
    if username == 'chengzi' and password == '123':
        print('登录成功')
        ####### 让用户继续输入它要执行的指令,用户输入完指令之后,打印正在执行某个指令
        while True:
            cmd = input('请输入你要执行的指令:')
            if cmd == 'q':
                # 结束程序
                break
            print('正在执行你的指令:%s' % cmd) # 当用户输入q的时候,结束程序
        break
    else:
        print('登录失败')

标志位的使用 flag = True while flag:    username = input('请输入你的用户名:')    password = input('请输入你的密码:') ​    if username == 'chegzi' and password == '123':        print('登录成功')        ####### 让用户继续输入它要执行的指令,用户输入完指令之后,打印正在执行某个指令        while flag:            cmd = input('请输入你要执行的指令:')            if cmd == 'q':                # 结束程序                flag = False            print('正在执行你的指令:%s' % cmd) # 当用户输入q的时候,结束程序    else:        print('登录失败')

练习题

"""
    猜年龄的游戏:
        1. 普通要求:    
            只能猜三次,三次猜不对,直接结束程序
        2. 拔高要求:
            如果输错三次,程序不要结束,询问用户是否继续猜,yes/no,如果输入yes就继续让用户猜,否则直接结束程序.
"""
# 定义一个计数器
count = 0
while count < 3:
    # 2. 让用户去输入猜测的年龄值
    guess_age = input('请开始猜年龄:')
    guess_age = int(guess_age)
​
    # 3. 把用户输入的年龄跟我们定义好的年龄比较
    if guess_age > age:
        print('猜大了')
        count += 1
    elif guess_age < age:
        print('猜小了')
        count += 1
    else:
        print('恭喜猜对了!')
        break

# 1. 定义一个年龄
age = 19
count = 0
while True:
    """当count==3的时候,说明已经猜错3次了,询问是否还继续猜?"""
    if count == 3:
        cmd = input('你已经猜错三次了,是否还继续猜: (yes/no)')
        if cmd == 'yes':
            # 继续猜
            count = 0
        else:
            print('下次再来玩')
            break
    guess_age = input('请开始猜年龄:')
    guess_age = int(guess_age)
    if guess_age > age:
        print('猜大了')
        count += 1
    elif guess_age < age:
        print('猜小了')
        count += 1
    else:
        print('恭喜猜对了!')
        break

while+continue

1. 练习题:使用while循环打印出0-10之间的数字
count = 0
while count < 10:
    print(count)
    count += 1
    
2. 练习题:使用while循环打印出0-10之间的数字, 但是不打印6
count = 0
while count < 10:
    if count == 6:
        count += 1
        # 不打印
        continue  # 跳出while循环的本次循环 --------------- 本层
    print(count)
    count += 1

while+else

count = 0
while count < 5:
    if count == 3:
        break
    print(count)
    count += 1
else:
    print('哈哈哈')
"""else: 当while循环中没有被中断(break)的时候会走else语句"""

死循环

# 程序中坚决不能出现死循环
count = 0
while True:
    print(count)
    count+=1
    
"""如果一旦出现了死循环,CPU的利用率会极速拉满,导致其他程序也不能用,甚至于关机"""

for循环

"""for循环不会出现死循环,它的循环条件不是我们来控制,是人家内部已经控制好了"""
​
for循环和while循环都是用来重复一个事情的,for循环能够实现的功能,while循环都可以实现
for循环的语法结构更加简洁,它不容易出现死循环,所以,推荐以后能够使用for循环的都使用for循环
​
"""
    可迭代对象:字符串、列表、字典、元组等,能够支持for循环的对象都是可迭代对象
    for循环的语法格式:
        for 变量名 in 可迭代对象: 
            pass
"""
​
'''字典暴露的是字典的key'''
d = {'username': 'jerry', 'age': 18}
for i in d:
    print(i, d[i]) # username age

range关键字

### 三种用法
1. 方式1
for i in range(10):  # 生成一个从0开始到9的数字
    print(i)
​
for i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
    print(i)
    
    
2. 方式2
for i in range(3, 10): # 生成一个从3开始到9的数字列表
    print(i)
    
3. 方式三
for i in range(0, 250, 25): # 第三个参数代表的是步长
    print(i)
    
"""练习题:使用for循环生成这10页的地址"""
​
https://movie.douban.com/top250?start=0&filter=  # 第一页
https://movie.douban.com/top250?start=25&filter=  # 第二页
https://movie.douban.com/top250?start=50&filter=  # 第三页
https://movie.douban.com/top250?start=75&filter=  # 第四页
https://movie.douban.com/top250?start=100&filter= # 第五页
https://movie.douban.com/top250?start=225&filter= # 最后一页
​
base_url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 2500, 25):
    # print(base_url % i)
    print('https://movie.douban.com/top250?start=%s&filter=' % i)

for+break

for i in range(10):
    if i == 6:
        break
    print(i)

for+continue

for i in range(10): 
    if i == 6:
        continue
    print(i)

for+else

'''跟while循环的用法一样,中间如果有中断程序,else就不在走了'''
for i in range(10):
    if i == 6:
        break
    print(i)
else:
    print('hahh ')

for循环的嵌套

for i in range(3):
    for j in range(5):
        print("*", end='')
    print()  # print()表示换行

posted @ 2023-08-29 17:33  橙子先生呀  阅读(27)  评论(0编辑  收藏  举报  来源