zoukankan      html  css  js  c++  java
  • 扎实基础深入篇(四):听说if语句很叼?

    编程时经常需要检查一系列条件,并根据此决定采取什么措施。

    在python中,if语句让你能够检查程序的当前状态,并根据此采取相应的措施。

    ------------------------------

    一个快速简单的示例

    # 目标结果:打印出歌手GAI,猫和老鼠的Tom和外国美女rose。

    persons=["jack","tom","jerry","gai","ROSE"]
    for person in persons:
     
      if person == "gai":
        print(person.upper())
      elif person == "tom":
        print(person.title())
      elif person == "ROSE":
        print(person.lower())
      else:
        continue
    输出结果:
    Tom
    GAI
    rose
    -----------------------------
    零基础的可以仔细研究一下这段代码,并结合下图的代码流程图进一步更深的理解:
    代码流程图调试的网址:https://pythontutor.com/visualize.html
     
    ------------------------------
    现在进入条件测试的学习
    ①检查是否相等
    >>>person1="ROSE"
    >>>person2="Rose"
    person1 == person2--->False
    >>>person1="ROSE"
    >>>person3="rose"
    person1 == person3.upper()--->True
    ②比较数字
    >>>age=20
    age>20--->False
    >>>age=18
    age<=18--->True
    ③使用or和and检查多个条件
    >>>age_1=20
    >>>age_2=22
    age_1>10 and age_2<23--->True
    >>>age_3=18
    >>>age_4=24
    age_3>20 or age<23---->False
    ④使用特定值检查是否包含在列表中
    >>>list_1=["a","b","c"]
    "a" in list_1--->True
    "w" in lisr_1--->False

    实际上,这些都是布尔表达式,它是条件测试的别名。

    布尔表达式的结果要么为True,要么为False。

    ------------------------------

    认识辣个男人:if/elif/.../elif/else代码块

    if:只判断一件事情或一个条件

    if/else:当条件测试通过了执行一个操作,条件测试未通过时执行另外一个操作。

    if/elif/else:可以测试三个条件。

    if/elif/.../elif/else:极为强大的测试代码块,几乎能涵盖所有的测试条件,直到遇到了通过了的测试,Python就跳过余下的测试。

    下面我将结合一个题目来讲一下辣个男人:

    设置变量age的值,再编写一个if-elif-else结构,根据age的值判断处于人生的哪个阶段。

    •如果此人小于2岁,请打印一条信息,说明此人是婴儿。

    •如果此人至少2岁但小于4岁,请打印一条信息,说明此人是一名幼儿。

    •如果此人至少4岁但小于13岁,请打印一条信息,说明此人是一名儿童。

    •如果此人至少13岁但不小于20岁,请打印一条信息,说明此人是一个青少年。

    •如果此人至少20岁但小于65岁,请打印一条信息,说明此人是一名成年人。

    •如果该人年满65岁,请打印一条信息,说明该人是老年人。

     

    age=20
    if age<2:
      who="婴儿"
    elif age<4:
      who="幼儿"
    elif age<13:
      who="儿童"
    elif age<20:
      who="青少年"
    elif age<65:
      who="成年人"
    else:
      who="老年人"
    print("此人是:",who)
    输出结果:
    此人是: 成年人
    我相信大家的代码写的肯定不跟我一样,要知道的是:
    这不代表你写错了,我只是把最简洁的写法放出来,让你们感受到Python语法的优美简洁。
    事实上,可以不需要else,把else:那一行改成elif age>=65:是不影响结果的。
    else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,
    这可能会引入无效甚至恶意的数据,比如人为加入一些黑客的命令。
    如果确定知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。
    ------------------------------
    用if语句对列表做一些羞羞的事
    假如你是《他是歌王》歌唱节目的总导演红桃,你在查看第二期的演唱歌手列表:
    ["韩黄","GAI","孙北","张绍","周杰没有伦"]
    这时候朋友圈刷爆了“做头发”,此次事件的男主角是嘻哈圈的著名歌手,却遭到了广电局的封杀,从而影响了嘻哈歌手。
    于是本期这场的GAI歌手受到连累,不能上场,这个时候你需要在邀请函上打印相关的信息。
    singer_list=["韩黄","GAI","孙北","张绍","周杰没有伦"]
    for singer in singer_list:
    if singer == "GAI":
    print("向各位抱歉,GAI歌手本次因突发事件不能上场竞演。")
    else:
    print(singer+"歌手期待你前来收听")
    输出结果:
    韩黄歌手期待你前来收听
    向各位抱歉,GAI歌手本次因突发事件不能上场竞演。
    孙北歌手期待你前来收听
    张绍歌手期待你前来收听
    周杰没有伦歌手期待你前来收听
     
    希望大家可以好好理解这段代码的实现方法,我将布置一个作业,答案在下篇博客公布:
    执行以下操作以创建一个程序,该程序模拟网站如何确保每个人都有唯一的用户名。
    •列出包含五个或更多用户名的列表current_users;再列出包含五个新用户名的列表new_users,
    确保一个或两个新用户名也在当前用户列表中。
    •循环浏览新用户列表,查看每个新用户名是否已被使用。如果有,请打印一条消息,说明此人需要输入新的用户名。
    如果没有使用用户名,请打印一条消息,说明用户名可用。
    •确保你的比较不区分大小写。如果使用了“john”,则不应接受“JOHN”。
    -----------------------------
  • 相关阅读:
    匿名,排序,过滤,映射,递归函数
    内置函数图
    for(var i in items) 和 for(var i;i<items.length;i++) 区别
    js中var、let、const的区别 (待总结)
    eclipse拉取git项目 Read timed out after 30,000 ms
    eclispe git config配置文件配置远程仓库
    git pull出错:cannot pull into a repository with state: merging_resolved"
    HttpClient之用CloseableHttpClient发送post请求
    注意设置httpclient连接数
    This compilation unit is not on the build path of java project (此编译单元不在java项目的生成路径上)
  • 原文地址:https://www.cnblogs.com/Masterpaopao/p/10312225.html
Copyright © 2011-2022 走看看