• 决策


    决策
    1、根据True和False做出决策
    ==,!=,>,<,>=,<=
    比较两个值是否相等,比较两个字符串的内容是否相同:
    序列:序列也可用双等号比较:每个序列中同一位置的每个元素都相同,则两个序列相等;若序列中的元素相同,但顺序不同,则两个序列不相等。
    字典:字典中的每个键和值必须与另一字典中的键和值一一对应,则两个字典相等;
    比较两个值是否不相等,比较两个值的大小:
    字母值的比较:“A"<"Z"<"a"<"z"
    字符串:特殊方法lower和upper
    lower:将其调用的字符串中的所有字母都变为小写;upper:将其调用的字符串中的所有字母都变为大写。
    a="True or False"
    a.lower() ----> 'true or false'
    a.upper() ----> 'TRUE OR FSLSE'
    真值,假值和取反:
    not运算符用于任何得出True和False结果的测试中,(任何非0的值都被看做True),因此在预期之外或不一定有意义的情况下使用not。
    not "A" < 3 ----> False
    not 5 > 2 ----> False
    若需要将多个运算结果放在一起,使用and或or
    2、做出决策
    if判断条件:
    if 1 > 2:
    print("it is false")
    if 1 < 2:
    print("it is true")
    python中的冒号":"它指出python进入了程序中与其余部分相对独立的一部分。此时缩进很重要;python通过缩进知道一个特定的代码块与周围的代码保持独立。
    嵌套:
    >>>omelet_ingredients={"egg":2,"mushroom":5,"pepper":1,"cheese":1,"milk":1}
    >>>fridge_contents={"egg":10,"mushroom":20,"pepper":3,"cheese":3,"tomato":1,"milk":15}
    >>>have_ingredients=[False]
    >>>if fridge_contents["egg"] > omelet_ingredients["egg"]:
    have_ingredients[0] = [True]
    have_ingredients.append("egg")
    >>>print(have_ingredients) ----> [[True], 'egg']
    (注:have_ingredients=[False]:have_ingredients的第一个元素为False
    >>>if fridge_contents["mushroom"] > omelet_ingredients["mushroom"]:
    if have_ingredients[0] == False:
    have_ingredients[0] = True
    have_ingredients.append("mushroom")
    >>>print(have_ingredients) ----> [[True], 'egg', 'mushroom']
    (注:如果第一个if为真,同级的第二个条件将会被执行;比较的结构决定了其下面缩进的代码是否被执行,同级别的以及上层代码不会停止(除非特殊情况,如一个错误或一个阻止程序继续运行的条件))
    结合if与elif使用:
    price=1.5
    if price < 1.25:
    print("buy one egg")
    elif price > 1:
    print("buy one apple")
    elif price < 2:
    print("buy one tomato")
    运行结果:buy one apple
    (注:elif仅当前面的条件不满足时,才会被执行:(当if不满足时执行第一个elif,当第一个elif不满足时才会执行第二个elif))
    结合if与elif与else使用:
    price=1.5
    if price < 1.25:
    print("buy one egg")
    elif price < 1:
    print("buy one apple")
    else:
    print("buy one tomato")
    运行结果:buy one tomato
    (注:else的使用:当前面的条件都没有返回True的情形下(if和elif都没有返回为True时,执行else))
    2>循环
    while和for
    while循环:
    i=5
    while i > 0:
    print("list in")
    print(i)
    i=i-1
    打印结果:
    list in
    5
    list in
    4
    list in
    3
    list in
    2
    list in
    1
    for循环:
    for i in range(10,0,-1):
    print("list in")
    print(i)
    打印结果:
    list in
    5
    list in
    4
    list in
    3
    list in
    2
    list in
    1
    终止循环:
    使用break语句退出无穷循环:
    age=0
    while True:
    how_old=input("enter your age:")
    if how_old=="No":
    print("donnot be ashamed of your age")
    break
    num=int(how_old)
    age=age+num
    print("your age is :")
    print(age)
    print("that is old")
    运行:
    enter your age:1
    your age is :
    1
    that is old
    enter your age:2
    your age is :
    3
    that is old
    enter your age:3
    your age is :
    6
    that is old
    enter your age:No
    donnot be ashamed of your age
    (注:如果使用break,它仅从最近的一个循环中退出。如果有一个while循环中,包含一个缩进的for...in循环,for...in中的break将不会退出while循环)
    while循环和for...in循环在末端都可以有一个else:语句,但它仅在循环不是由break语句退出退出时才会被执行;这种情形下,else:叫做done或on_completion
    循环使用else:
    for food in ("pate","cheese","crackers","yogurt"):
    if food =="yogurt":
    break
    else:
    print("there is no yogurt")
    运行结果:(空的,break退出循环)
    for food in ("pate","cheese","crackers"):
    if food =="yogurt":
    break
    else:
    print("there is no yogurt")
    运行结果:there is no yogurt
    用continue继续循环:
    for food in ("pate","cheese","rotten apples","crackers","cream","yogurt"):
    if food[0:6]=="rotten":
    continue
    print("you can eat %s" % food)
    运行结果:
    you can eat pate
    you can eat cheese
    you can eat crackers
    you can eat cream
    you can eat yogurt
    (使用了if来判断food列表中的每一项的第一部分是否包含字符串rotten,所以"rotten apples"元素会被continue跳过,其余的元素会被打印出来)
    处理错误:
    使用try:语句:
    try:语句后面可以跟一个expect:语句,每一个expect:语句都处理错误,错误也被称作异常;当对try语句中的代码求值时会抛出异常,而不是使程序失败。
    创建异常及对异常的说明:
    frige_contents={"egg":8,"mushroom":20,"pepper":3,"cheese":2,"tomato":4,"milk":13}
    try:
    if frige_contents["orange juice"] > 3 :
    print("let's have some juice")
    except (KeyError)as error:
    print("there is no %s" % error)
    运行结果:there is no 'orange juice'
    用相同的方式处理多种异常,可以用一个元组包含有关的所有异常类型:
    ....
    except (KeyError,TypeError)as error:
    ....
    如果需要处理一个异常,但是希望以什么都不做的方式处理它,可通过特殊词pass忽略这种情形:
    frige_contents={"egg":8,"mushroom":20,"pepper":3,"cheese":2,"tomato":4,"milk":13}
    try:
    if frige_contents["orange juice"] > 3 :
    print("let's have some juice")
    except (KeyError)as error:
    print("there is no %s" % error)
    except (TypeError):
    pass
    运行结果:there is no 'orange juice'
    另:else:语句可以放在try:代码的末端。在没有捕捉到任何异常时,else:将被执行。
  • 相关阅读:
    asp.net2.0中读取web.config数据库连接字符串2种方法
    C#中ArrayList类的使用方法
    Parameters.AddWithValue(“@参数”,value)方法
    cookie 和session 的区别详解 (出处:http://shiyangxt.cnblogs.com )
    Button与Submit调用前台与后台代码的方法
    SqlDataReader和DataSet的选择
    Session和Cookie的使用总结
    webconfig文件详解
    C# sqlDataReader区别Dataset
    SqlDataAdapter.Update()方法与SqlCommandBuilder
  • 原文地址:https://www.cnblogs.com/skyzy/p/9432991.html
Copyright © 2020-2023  润新知