• 流程控制(if while for)


    流程控制(if while for)

    if判断:模拟人一样对事物进行判断

    格式:

    if 条件:  # 代码块的概念:(同一缩进级别的代码,例如下面的代码1、2、3是相同缩进的代码,这三个代码组合在一起就是一个代码块;相同缩进的代码自上而下的运行)

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    gender = "male"
    height = 180
    weight = 140
    salary = 15.5
    if gender == "male" and height == 180 and weight > 120 and weight < 160 and salary > 12.5 :
        print("目标已找到")
    print("结束!")

    映射到电脑上就是一堆变量,如上面的gender、height、weight、salary等

    if...else

    格式:

    if条件:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    else:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    height = 180
    weight = 140
    look = "handsome"
    if height == 180 and weight == 140 and look =="handsome":
        print("终于找到你了!")
    else :
        print("you are 路人,快走开!")
    print("结束!")

     

    if... elif... else

    格式:

    if条件:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    elif:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    else:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...

    height = 180
    weight = 165
    salary = 7.8
    if height > 175 and weight > 135 and weight < 145 and salary > 15:
        print("你就是我命中注定的人")
    elif height > 175 and weight > 135 and weight < 145 and salary <15:
        print("或许我们可以试着交往一下")
    elif height > 175 and weight < 120 and salary <10:
        pint("我觉得你还不错,但是我们不合适")
    else:
        print("癞蛤蟆想吃天鹅肉,一边去")
    print("交流结束")

    先执行if条件,成立则print;若if条件不成立,则到下一步elif,以此类推

    练习题:

    """
    如果 成绩>=90,打印"优秀"
    如果 成绩>=80 并且 成绩<90,打印"良好"
    如果 成绩>=70 并且 成绩<80,打印"普通"
    其他情况:打印"差"
    """
    score = input("please input your score:")
    score = int(score)  # 注意类型转换
    if score >= 90 :
        print("优秀")
    elif score >= 80:
        print("良好")
    elif score >=70:
        print("普通")
    else:
        print("")

    if嵌套:

    height = 180
    weight = 145
    look = "handsome"
    salary = 15
    if height >175 and weight <160 and look =="handsome":
        print("你年薪多少?")
        if salary > 14 :
          print("你就是我的白马王子!")
    else :
        print("我觉得你不是我的骑士,很抱歉!")

    while循环

    实际生活中类似于重复的做一些事情,流水线上的工人反复劳动,直到下班时间到来

    格式:

    while条件:

      代码1  # 空四格

      代码2  # 空四格

      代码3  # 空四格

      ...  # while中要避免死循环

    # 举例,实现QQ登录
    user_db_name = 846719542
    pass_db_word = 123456
    user_db_name = str(user_db_name)  # 定义为字符串类型才能比较
    pass_db_word = str(pass_db_word) # 定义为字符串类型才能比较
    while True:
        input_user = input("username")
        input_pass = input("password")
        if input_user == user_db_name and input_pass == pass_db_word:
            print("登陆成功")
        else :
            print("密码错误,请重试")

    在此暴露出一个问题:用户输错了要重新输入,但是输对了还需要输入,这就需要改进

    while+break******(break意思是终止当前层的循环,执行其他代码;也就是最近的一个while)

    user_db_name = 846719542
    pass_db_word = 123456
    user_db_name = str(user_db_name)  # 定义为字符串类型才能比较
    pass_db_word = str(pass_db_word) # 定义为字符串类型才能比较
    while True:
        input_user = input("username")
        input_pass = input("password")
        if input_user == user_db_name and input_pass == pass_db_word:
            print("登陆成功")
            break
        else :
            print("密码错误,请重试")

    while+continue******(continue的意思是终止本次循环,开始下一次循环)

    # 打印1-10
    n = 1
    while n < 10 :
        print(n)
        n += 1  # 既保证了每次值+1,又保证了不会陷入死循环,因为n+1<10就会结束循环

    # 打印1-10,5除外
    n = 1
    while n <10 :
        if n == 5 :
            n += 1
            continue
        print(n)
        n += 1

    注:continue不加在最后一行,因为加在最后没有意义。

     while嵌套循环:

    user_db_name = "英雄好汉"
    pass_db_word = "123456"
    while True :
        username = input("please input your ID:")
        password = input("please input your password:")
        if username == "user_db_name" and password = = "pass_db_word"
            print("欢迎勇士的到来")
            while True:
                order = input("please input your command:")
                if order == "退出"
                    break
                print(%s is running...)
        else:
            print("账号或密码错误,请重试")
    print("欢迎下次再来,谢谢!")

     for循环*******(不依赖于索引值)

    语法结构:

    for 变量名 in 容器类型:

      代码1

      代码2

      代码3

    # for循环应用在列表中
    y = [1,2,3,4]
    for i in y :
        print(i)

     

    # for循环应用在字典中
    y = {"height":180,"weight":145,"hobby":"sleep"} for i in y : print(i)

    由以上分别在列表及字典里面的结果可以看出,for循环仅仅是将容器里面的元素取出来;(在字典里面取出来的是key,值是不会暴露给用户的)

    ***len()  # 获取数据类型(容器类型)的个数,字符串是特例, 获取的是字符串中字符的个数。

    for+break****(break用来主动结束for循环):

    name_list = ["","","",""]
    for name in name_list :
        if name == ""break
        print(name)

     

    可以看到,在循环到“孙”时候结束了for循环。

    for+continue***(continue表示跳出本循环,开始下一次循环):

    name_list = ["","","",""]
    for name in name_list :
        if name == "" :
            continue
        print(name)

     

    由结果可以看到,在循环到“孙”的时候,此次循环结束,不打印出结果,并开始下一次循环至结束。

    for循环的嵌套:

    for i in range(1,10) :
        for o in range(1,i+1) :  # 内层循环的条件是由外层循环决定的
            print("%s*%s=%s%"(i,o,i*o),end=" ")
      print()

     

    注:不懂,还需要下来再看。

     range在python2及python3中的区别:

    在python2中,有range及xrange;其中xrange与python3中range功能一样,相当于迭代器(老母猪),都是用户需要用到多少取多少,而python2中的range则是把范围内所有的值都取出来。

    注:range顾头不顾尾,比如range[1,10],结果只会出来1-9,10并不包括在内。

  • 相关阅读:
    2019-9-2-C#枚举中使用Flags特性
    2019-9-2-C#枚举中使用Flags特性
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-获取进程退出代码
    2019-8-31-C#-获取进程退出代码
    access truncate
    GIT分布式版本控制系统
    iSCSI的配置(target/initiator)
    chkconfig命令
  • 原文地址:https://www.cnblogs.com/pupy/p/11121852.html
Copyright © 2020-2023  润新知