3.1 条件语句

条件语句是一种很重要的流程控制语句,当条件成立的时候才执行对应的语句,一个简单的条件语句结构如下:
if 条件:
   语句1
   语句2
   ...
else:
   语句3
       以下是条件语句需要注意的:
(1)条件必定是布尔值,也就是能计算出True或False。
(2)if或者else,控制后续所有缩进的语句,缩进几个空格或者tab都可以,但是同一个控制范围内必须统一:
if 条件:
  受if控制的语句1
  受if控制的语句2
#缩进空格数量没有限制,但同一个控制之下的语句缩进不统一,会出语法错误,例如下面
if 条件:
 受if控制的语句1
  受if控制的语句2

(3)if和else之间,除了被控制的语句外,不能有别的语句。例如下面的代码就会有语法错误,因为语句2并不受if控制
if 条件:
   语句1
语句2
else:
   语句3
      
(4)可以没有else语句,但不能只有else。else就是否则的意思,说话也不能省略如果直接说否则。
(5)条件成立执行语句1;条件不成立执行语句2。

以下是条件语句的例子:
i=int(input("请输入一个数字"))
if i >= 0:
  print("输入数字非负")
else:
  print("输入的数字是负数")

练习题

  • 阅读代码后写出运行结果(题目出现的变量a的值都是整数6)
    1. (2分) [填空]
    打印结果是        
    2. (2分) [填空]
    打印结果是        
    3. (2分) [填空]
    打印结果是        
  • 下列语句运行的结果是(假设a的值都是6)
    1.下列语句运行结果是 (2分) [选择]
    A.
    B. 语法错误
    C. 打印123
    D. 打印123456
    E. 打印123789
    <code><div class='codeNewLine'><span class='keyword'>if</span> a <span>></span> 1:</div><div class='codeNewLine'>     <span class='pyFunction'>print</span>(<span class='string'>"123"</span>)</div><div class='codeNewLine'><span class='pyFunction'>print</span>(<span class='string'>"456"</span>)</div><div class='codeNewLine'><span class='keyword'>else</span>:</div><div class='codeNewLine'>     <span class='pyFunction'>print</span>(<span class='string'>"789"</span>)</div></code>
    
    2.下列语句运行结果是 (2分) [选择]
    A.
    B. 打印123
    C. 什么都不打印
    D. 语法错误
    E. 打印a
    <code><div class='codeNewLine'><span class='keyword'>if</span> a:</div><div class='codeNewLine'>    <span class='pyFunction'>print</span>(<span class='string'>"123"</span>)</div></code>
    
    3.下列语句运行结果是 (2分) [选择]
    A.
    B. 打印5
    C. 打印6
    D. 打印5123
    E. 打印6123
    <code><div class='codeNewLine'><span class='keyword'>if</span> a <span>></span> 5:</div><div class='codeNewLine'>     <span class='pyFunction'>print</span>(a)</div><div class='codeNewLine'><span class='keyword'>else</span>:</div><div class='codeNewLine'>     <span class='pyFunction'>print</span>(a-1)</div><div class='codeNewLine'><span class='pyFunction'>print</span>(<span class='string'>"123"</span>)</div></code>
    
    4.下列语句运行结果是 (2分) [选择]
    A.
    B. 语法错误
    C. 打印123
    D. 打印123456
    E. 打印456789
    <code><div class='codeNewLine'><span class='keyword'>if</span> a <span>></span> 1:</div><div class='codeNewLine'>    <span class='pyFunction'>print</span>(<span class='string'>"123"</span>)</div><div class='codeNewLine'>    <span class='pyFunction'>print</span>(<span class='string'>"456"</span>)</div><div class='codeNewLine'><span class='keyword'>else</span>:</div><div class='codeNewLine'>    <span class='pyFunction'>print</span>(<span class='string'>"789"</span>)</div></code>
    
  • 编程题。下面题目参考第二章的逻辑运算
    1.提示:下面题目参考第二章的逻辑运算符一节。 (2分) [编程填空]
    有一个字符变量c,它的值未知,判断是不是数字,如果是打印True。完成这个逻辑判断:
    <code><div class='codeNewLine'><span class='keyword'>if</span>         :</div><div class='codeNewLine'>   print(<span class='keyword'>True</span>)</div></code>
    
    2.输入一个字符,并赋值给c,判断c是不是大写字母,如果是打印出True,否则打印出False (10分) [编程]
    3.输入一个字符赋给字符变量c,判断c是不是非数字,如果是打印True,否则打印False (10分) [编程]
    4.输入一个字符赋给字符变量c,判断c是不是字母,如果是打印True,否则打印False (10分) [编程]
  • 编程题
    1.输入一个整数作为年龄,判断是否成年,完成下面的代码: (2分) [编程填空]
    <code><div class='codeNewLine'>i=<span class='pyFunction'>int</span>(<span class='pyFunction'>input</span>(<span class='string'>"输入一个年龄:"</span>)</div><div class='codeNewLine'><span class='keyword'>if</span>         :</div><div class='codeNewLine'>  <span class='pyFunction'>print</span>(<span class='string'>"成年"</span>)</div></code>
    
    2.从键盘输入一个数字,赋值给整型变量i,判断i能否被3整除,如果可以,打印True,否则打印False (10分) [编程]
    3.从键盘输入一个数字,赋值给整型变量i,判断i是不是能被3整除的偶数,如果可以,打印True,否则打印False (10分) [编程]
    4.从键盘输入一个数字,赋值给整型变量i,判断i是不是能被5整除的偶数.如果可以,打印True,否则打印False (10分) [编程]
    5.输入一个四位数整数,赋给整型变量year,判断year是否是闰年。闰年的条件是能被4整除但不能被100整除,或者能被400整除。如果是打印True,否则打印False (10分) [编程]
    6.输入两个数分别赋给整型变量n和m,判断双方是否有整除关系,要求输入不分先后都能判断出来。 (10分) [编程]
    例如输入4、8和输入8、4结果都是可以整除,打印True。而输入3,4则打印False。要求变量n先定义
    7.输入两个数分别赋给整型变量n和m,打印出较大的那个数字 (10分) [编程]
    8.(进阶)输入三个数字,按照从小到大顺序输出。 (10分) [编程]
    提示:假设输入的是a、b、c三个数字,要做到从小到大排序,那么最多要进行3次置换。
    算法如下:
    如果a比b大,那么置换a和b
    如果a比c大,那么置换a和c
    如果b比c大,那么置换b和c
    打印a,b,c

    输出格式为:
    11
    24
    35
    9.(进阶)输入四个数字分别定义为a,b,c,d,按照从小到大顺序输出 (10分) [编程]
    输出格式类似于
    1
    23
    45
    100