zoukankan      html  css  js  c++  java
  • python013 Python3 条件控制

    Python3 条件控制
    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
    可以通过下图来简单了解条件语句的执行过程:

    if 语句
    Python中if语句的一般形式如下所示:

    if condition_1:
        statement_block_1
    elif condition_2:
        statement_block_2
    else:
        statement_block_3
    
    • 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
    • 如果 "condition_1" 为False,将判断 "condition_2"
    • 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
    • 如果 "condition_2" 为False,将执行"statement_block_3"块语句

    Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
    注意:

    • 1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
    • 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
    • 3、在Python中没有switch – case语句。

    实例
    以下是一个简单的 if 实例:

    #!/usr/bin/python3
    
    var1 = 100
    if var1:
      print ("1 - if 表达式条件为 true")
      print (var1)
    
    var2 = 0
    if var2:
      print ("2 - if 表达式条件为 true")
      print (var2)

    print ("Good bye!")

    执行以上代码,输出结果为:

    1 - if 表达式条件为 true
    100
    Good bye!

    从结果可以看到由于变量 var2 为 0,所以对应的 if 内的语句没有执行。
    以下实例演示了狗的年龄计算判断:
    实例

    #!/usr/bin/python3
    
    age = int(input("请输入你家狗狗的年龄: "))
    print("")
    if age < 0:
        print("你是在逗我吧!")
    elif age == 1:
        print("相当于 14 岁的人。")
    elif age == 2:
        print("相当于 22 岁的人。")
    elif age > 2:
        human = 22 + (age -2)*5
        print("对应人类年龄: ", human)
    
    ### 退出提示
    input("点击 enter 键退出")

    将以上脚本保存在dog.py文件中,并执行该脚本:

    $ python3 dog.py 
    请输入你家狗狗的年龄: 1
    
    相当于 14 岁的人。
    点击 enter 键退出

    以下为if中常用的操作运算符:

    实例

    #!/usr/bin/python3
    
    # 程序演示了 == 操作符
    # 使用数字
    print(5 == 6)
    # 使用变量
    x = 5
    y = 8
    print(x == y)

    以上实例输出结果:

    False
    False
    

    high_low.py文件演示了数字的比较运算:

    实例

    #!/usr/bin/python3 
    
    # 该实例演示了数字猜谜游戏
    number = 7
    guess = -1
    print("数字猜谜游戏!")
    while guess != number:
      guess = int(input("请输入你猜的数字:"))
    
    if guess == number:
      print("恭喜,你猜对了!")
    elif guess < number:
      print("猜的数字小了...")
    elif guess > number:
      print("猜的数字大了...")

    执行以上脚本,实例输出结果如下:

    $ python3 high_low.py 
    数字猜谜游戏!
    请输入你猜的数字:1
    猜的数字小了...
    请输入你猜的数字:9
    猜的数字大了...
    请输入你猜的数字:7
    恭喜,你猜对了!

    if 嵌套
    在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

    if 表达式1:
      语句
    if 表达式2:
      语句
    elif 表达式3:
      语句
    else:
      语句
    elif 表达式4:
      语句
    else:
      语句

    实例

    # !/usr/bin/python3
    
    num=int(input("输入一个数字:"))
    if num%2==0:
      if num%3==0:
        print ("你输入的数字可以整除 2 和 3")
      else:
        print ("你输入的数字可以整除 2,但不能整除 3")
    else:
      if num%3==0:
        print ("你输入的数字可以整除 3,但不能整除 2")
      else:
        print ("你输入的数字不能整除 2 和 3")

    将以上程序保存到 test_if.py 文件中,执行后输出结果为:

    $ python3 test.py 
    输入一个数字:6
    你输入的数字可以整除 2 和 3

    笔记列表
    以下实例 x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x, 如果 x 等于 y 则输出 x+y,否则输出y。

    #!/usr/bin/python3
    import random
    
    x = random.choice(range(100))
    y = random.choice(range(200))
    if x > y:
      print('x:',x)
    elif x == y:
      print('x+y', x + y)
    else:
      print('y:',y)

    """对上面例子的一个扩展"""

    #!/usr/bin/python3
    
    """对上面例子的一个扩展"""
    
    print("=======欢迎进入狗狗年龄对比系统========")
    while True:
        try:
            age = int(input("请输入您家狗的年龄:"))
            print(" ")
            age = float(age)
            if age < 0:
                print("您在逗我?")
            elif age == 1:
                print("相当于人类14岁")
                break
            elif age == 2:
                print("相当于人类22岁")
                break
            else:
                human = 22 + (age - 2)*5
                print("相当于人类:",human)
                break
        except ValueError:
            print("输入不合法,请输入有效年龄")
    ###退出提示
    input("点击 enter 键退出")
    
  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/chenlin163/p/7253339.html
Copyright © 2011-2022 走看看