zoukankan      html  css  js  c++  java
  • python 控制流程

    条件语句

    if语法

    if True:
        print("hello")
    print("world!")

    输出:

    hello
    world!

    举例:

    """
    问题:输入一个年龄。若大于18岁,则可以上网
        重点:由于input输入的是字符串类型,故不能与18比较,所以要进行int类型转换
    """
    age = int(input("请输入您的年龄:"))
    
    if age > 18:
        print(f'你的年纪是{age},可以上网!')

    输出:

    请输入您的年龄:19
    你的年纪是19,可以上网!

    扩展:

    age = int(input("请输入您的年龄:"))
    
    if age < 18:
        print(f'你的年纪是{age},太小了!')
    elif(age >= 18) and (age <= 60):
        print(f'您的年纪是{age},合法年纪!')
    elif age > 60:
        print(f'您的年纪是{age},太老了!')

    注释: (age >= 18) and (age <= 60)  可以简化为:18 <= age <= 60

    if嵌套

    """
    money = 1,代表有钱,反之没钱
    seat = 1,代表有座,反之没座
    """
    money = 1
    seat = 0
    
    if money == 1:
        print("有钱,请上车")
        if seat != 1:
            print("    没座,请站着")
        else:
            print("    有座,赶紧坐")
    else:
        print("没钱,后边跑")

    案例:猜拳游戏

    扩充:随机数

    1、导入random模块

    import random

    2、使用函数

    random.randint(开始,结束)
    """
    1、出拳
        玩家:手动输入:plater
            剪刀:0、石头:1,布:2
        电脑:随机输入
            随机数:computer
    2、判断
        玩家赢
            玩家剪刀,电脑布
            玩家石头,电脑剪刀
            玩家布,电脑石头
        平局
            玩家剪刀,电脑剪刀
            玩家石头,电脑石头
            玩家布,电脑布
        电脑赢
            玩家剪刀,电脑石头
            玩家石头,点胶布
            玩家布,电脑剪刀
    """
    import random
    
    computer = random.randint(0,2)
    player = int(input("请出拳:0--剪刀,1--石头,2--布:"))
    print(f'电脑:{computer}')
    
    if((player == 0) and (computer ==2 ) or (player == 1) and (computer == 0) or (player == 2) and (computer == 1)):
        print("玩家获胜!")
    elif player == computer:
        print("平局")
    else:
        print("电脑获胜")

    三目运算符

    语法:条件成立执行的表达式  if  条件   else  条件不成立执行的表达式 

    a = 11
    b = 22
    c = a + b if a < b else a - b
    print(c)

    循环语句

    while循环

    语法:

    举例1:1-100整数相加,然后输出结果

    """
    1-100整数相加,然后输出结果
    
    """
    i = 1
    result = 0
    
    while i <= 100:
        result += i
        i += 1
    print(f'1+....+100={result}')

    举例2:1-100内的偶数相加,然后输出结果

    方法1:

    i = 0
    even_result = 0
    
    while i <= 100:
        even_result += i
        i += 2
    print(f'0+2+...+100={even_result}')

    方法2:

    i = 1
    even_result = 0
    
    while i <= 100:
        if i % 2 == 0:
            even_result += i
        i += 1
    print(f'0+2+...+100={even_result}')

    while嵌套循环

    """
    j=0
    j=1
    j=2
    j=3
    i的第1遍循环
    j=0
    j=1
    j=2
    j=3
    i的第2遍循环
    j=0
    j=1
    j=2
    j=3
    i的第3遍循环
    j=0
    j=1
    j=2
    j=3
    i的第4遍循环
    i的循环结束
    """
    i = 0
    while i <= 3:
        j = 0
        while j <= 3:
            print(f'j={j}')
            j += 1
        print(f'i的第{i+1}遍循环')
        i += 1
    print("i的循环结束")

    举例3:

    """
    打印星号:正方形
    *****
    *****
    *****
    *****
    *****
    """
    i = 0
    while i <= 4:
        j = 0
        while j <= 4:
            print("*",end="")
            j += 1
        print()
        i += 1

    举例4:

    """
    打印星号:三角形
    *
    **
    ***
    ****
    *****
    """
    i = 0
    while i <= 4:
        j = 0
        while j <= i:
            print("*",end="")
            j += 1
        print()
        i += 1

    举例5:九九乘法表

    """
    九九乘法表
    1 * 1 = 1    
    2 * 1 = 2    2 * 2 = 4    
    3 * 1 = 3    3 * 2 = 6    3 * 3 = 9    
    4 * 1 = 4    4 * 2 = 8    4 * 3 = 12    4 * 4 = 16    
    5 * 1 = 5    5 * 2 = 10    5 * 3 = 15    5 * 4 = 20    5 * 5 = 25    
    6 * 1 = 6    6 * 2 = 12    6 * 3 = 18    6 * 4 = 24    6 * 5 = 30    6 * 6 = 36    
    7 * 1 = 7    7 * 2 = 14    7 * 3 = 21    7 * 4 = 28    7 * 5 = 35    7 * 6 = 42    7 * 7 = 49    
    8 * 1 = 8    8 * 2 = 16    8 * 3 = 24    8 * 4 = 32    8 * 5 = 40    8 * 6 = 48    8 * 7 = 56    8 * 8 = 64    
    9 * 1 = 9    9 * 2 = 18    9 * 3 = 27    9 * 4 = 36    9 * 5 = 45    9 * 6 = 54    9 * 7 = 63    9 * 8 = 72    9 * 9 = 81
    """
    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print(f'{i} * {j} = {i*j}',end="	")
            j += 1
        print()
        i += 1

    break

    终止整个循环

    """
    i == 4时,终止整个循环
    
    """
    i = 1
    while i <= 5:
        if i == 4:
            print("结束了")
            break
        print(i)
        i += 1

    输出:

    1
    2
    3
    结束了

    continue

    退出当前一次循环而执行下一次循环

    """
    i == 4时,终止整个循环
    在使用continue之前一定要修改计数器,否则陷入死循环
    """
    i = 1
    while i <= 5:
        if i == 4:
            print("跳过")
            i += 1
            continue
        print(i)
        i += 1

    输出:

    1
    2
    3
    跳过

    while -else

     

    循环正常执行完毕后,才执行else的内容:

    """
    5
    4
    3
    2
    1
    结束了
    """
    i = 5
    
    while i > 0:
        print(i)
        i -= 1
    # 循环正常结束后才执行
    else:
        print("结束了")

    break的使用:

    """
    5
    4
    3
    """
    i = 5
    
    while i > 0:
        print(i)
        i -= 1
        if i == 2:
            break
    # 循环正常结束后才执行
    else:
        print("结束了")

    continue的使用:

    """
    5
    4
    3
    跳过2
    1
    结束了
    """
    i = 5
    
    while i > 0:
        if i == 2:
            i -= 1
            print("跳过2")
            continue
        print(i)
        i -= 1
    # 循环正常结束后才执行
    else:
        print("结束了")

    for循环

    语法:

    break:

    """
    for循环中使用break:
    h
    e
    l
    l
    o
    w
    o
    遇到r结束
    """
    src = 'helloworld'
    
    for i in src:
        if i == 'r':
            print("遇到r结束")
            break
        print(i)
    

    continue:

    """
    for循环中使用continue:
    h
    e
    l
    l
    o
    w
    o
    遇到r跳过
    l
    d
    """
    src = 'helloworld'
    
    for i in src:
        if i == 'r':
            print("遇到r跳过")
            continue
        print(i)

    for-else

    """
    h
    e
    l
    l
    o
    w
    o
    r
    l
    d
    结束循环
    """
    src = 'helloworld'
    
    for i in src:
        print(i)
    # for 循环正常结束后,才会执行else
    else:
        print("结束循环")

    break的使用:

    """
    h
    e
    l
    l
    o
    w
    o
    r
    """
    src = 'helloworld'
    
    for i in src:
        print(i)
        if i == 'r':
            break
    # for 循环正常结束后,才会执行else
    else:
        print("结束循环")

    continue的使用:

    """
    h
    e
    l
    l
    o
    w
    o
    跳过r
    l
    d
    结束循环
    """
    src = 'helloworld'
    
    for i in src:
        if i == 'r':
            print("跳过r")
            continue
        print(i)
    
    # for 循环正常结束后,才会执行else
    else:
        print("结束循环")

    实例总结

    用户信息管理

    def info_put():
        """显示功能界面:"""
        print('请输入序号:————————————————')
    
        print('1、添加用户信息')
        print('2、删除用户信息')
        print('3、修改用户信息')
        print('4、查询用户信息')
        print('5、显示所有用户信息')
        print('6、退出系统')
        print(''*27)
    
    #定义存储用户信息字典的列表
    info = []
    
    def add_user():
        """添加用户"""
        new_id = input('请输入id:')
        new_name = input('请输入名字:')
        new_tel = input('请输入电话:')
    
        #声明info为全局列表
        global info
        #判断用户是否重复
        for i in info:
            if new_name == i['name']:
                print('--此用户已存在,请重新输入!--')
                return
        #定义存储用户信息的字典
        info_dict = {}
    
        info_dict['id'] = new_id
        info_dict['name'] = new_name
        info_dict['tel'] = new_tel
    
        #追加字典到列表中
        info.append(info_dict)
    
        print(info)
    
    def del_user():
        """删除用户"""
        del_name = input('请输入要删除用户的名字:')
    
        global info
    
        for i in info:
            if del_name == i['name']:
                print('删除成功!')
                info.remove(i)
                break
        else:
            print('该用户不存在!')
    
        print(info)
    
    def modify_user():
        """
        修改用户的电话号
        :return:
        """
        modify_name = input('请输入要修改的用户名:')
    
        global info
    
        for i in info:
            if modify_name == i['name']:
                modify_tel = input('请输入新的手机号:')
                i['tel'] = modify_tel
                break
        else:
            print('该用户不存在!')
    
        print(info)
    
    def see_user():
        """
        查看用户信息
        :return:
        """
        see_name = input('请输入要查找的用户名:')
    
        global info
    
        for i in info:
            if see_name == i['name']:
                print('查找到的用户信息如下:')
                #单引号和双引号的使用可以一起用
                print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}")
                break
        else:
            print('该学员不存在!')
    
    def print_all():
        """
        打印所有用户信息
        :return:
        """
        print("显示所有用户信息:")
        for i in info:
            print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}")
    
    while True:
        #显示功能界面
        info_put()
    
        #用户输入序号
        num = int(input('请输入功能序号:'))
    
        #功能判断
        if num == 1:
            #print('添加')
            add_user()
        elif num == 2:
            #print('删除')
            del_user()
        elif num == 3:
            #print('修改')
            modify_user()
        elif num == 4:
            #print('查询')
            see_user()
        elif num == 5:
            #print('显示所有')
            print_all()
        elif num == 6:
            #print('退出')
            print("确定要退出么?yes or no")
            exit_flag = input()
            if exit_flag == 'yes':
                break
        else:
            print('输入错误,请重新输入!')
            
    """
    请输入序号:————————————————
    1、添加用户信息
    2、删除用户信息
    3、修改用户信息
    4、查询用户信息
    5、显示所有用户信息
    6、退出系统
    ———————————————————————————
    请输入功能序号:
    """
  • 相关阅读:
    Linux文件/proc/net/tcp分析
    为什么系统调用会消耗较多资源
    为什么Linux默认页大小是4KB
    为什么Linux需要虚拟内存
    Make 命令教程
    关于同步的一点思考-下
    关于同步的一点思考-上
    Linux下的进程控制块(PCB)
    汇编语言基础:寄存器和系统调用
    内核栈与thread_info结构详解
  • 原文地址:https://www.cnblogs.com/pam-sh/p/12904440.html
Copyright © 2011-2022 走看看