• Python语言程序设计 习题3


    一、选择题

    1.以下不合法的表达式是(    D  )。

    A.x in [1,2,3,4,5]     B.x-6>5         C.e>5 and 4==f      D.3=a

    1. x = eval(input())
    2. e, f = eval(input())
    3. x in (1, 2, 3, 4, 5)
    4. x - 6 > 5
    5. e > 5 and 4 == f
    6. # 3=a

    2.将数学式2

    A.2

    C.22 or x <=10

    3.与关系表达式x==0等价的表达式是(   B   )。

    A.x=0       B.not x      C.x       D.x!=1

    1. x = eval(input())
    2. print(x == 0)
    3. #print(x=0)报错
    4. print(not x)
    5. print(x)
    6. print(x != 1)
    '
    运行

    当x非0时,表达式是false,x=0时,表达式是true

    4.下列表达式的值为True的是(    A  )。

    A.2!=5 or 0       B.3>2>2      C.5+4j>2-3j       D.1 and 5==0

    对于B的情况:

    print(3>2>2)'
    运行

    首先比较3>2,是true,那么3>2的结果就是1,这个结果与2进行比较,即1>2,所以最后是false

    对于C的情况:

    print(5+4j>2-3j)

    Python中复数不支持比大小 

    5.下面if语句统计“成绩(mark)优秀的男生以及不及格的男生”的人数,正确的语句为(  C  )。

    A.if gender=="男" and mark<60 or mark>=90:n+=1

    B.if gender=="男" and mark<60 and mark>=90:n+=1

    C.if gender=="男" and (mark<60 or mark>=90):n+=1

    D.if gender=="男" or mark<60 or mark>=90:n+=1

    6.以下if语句语法正确的是(   D   )。

    A:

    1. if a>0:x=20
    2. else:x=200

    B:

    1. if a>0:x=20
    2. else:
    3. x=200

    C:

    1. if a>0:
    2. x=20
    3. else:x=200

    D:

    1. if a>0
    2. x=20
    3. else
    4. x=200

    7.在Python中,实现多分支选择结构的较好方法是(   C   )。

    A.if       B.if-else      C.if-elif-else       D.if嵌套

    8.下列语句执行后的输出是(   C   )。

    A.0          B.2          C.5          D.6

    1. if 2:
    2. print(5)
    3. else:
    4. print(6)
    '
    运行

    0假,非0真

    9.下面程序段求x和y中的较大数,不正确的是(    D  )。

    A:

    maxNum=x if x>y else y

    B:

    1. if x>y:maxNum=x
    2. else:maxNum=y

    C:

    1. maxNum=y
    2. if x>y:maxNum=x

    D:

    1. if y>=x:maxNum=y
    2. maxNum=x

    D是因为无论是否执行if语句,maxNum=x都会执行,所以最后maxNum都会是x

    10.下列Python程序的运行结果是(   B   )。

    A.True           B.False           C.true            D.false

    1. x=0
    2. y=True
    3. print(x>y and 'A'<'B')
    4. #print(x>y) False
    5. #print('A'<'B') True
    '
    运行

    二、填空题

    1.表达式2<=1 and 0 or not 0的值是    True   

    2<=1是False,0是False,not 0是True。

    2.已知ans='n',则表达式ans=='y' or 'Y'的值为    'Y'    。

    表达式分为以or分隔的两部分,前一部分是ans==‘y’,即‘n’==‘y’,结果是False,所以是         False or  ‘Y’,所以表达式的的值是‘Y’,

    3.Python提供了两个对象身份比较运算符    is    和    is not  来测试两个变量是否指向同一个对象。p56

    4.在直角坐标中,x、y是坐标系中任意点的位置,用x和y表示第一象限或第二象限的Python表达式为  x>0 and y>0 or x<0 and y>0 。      

    5.已知a=3,b=5,c=6,d=True,则表达式not d or a>=0 and a+c>b+3的值是    True    。

    6.Python表达式16-2*5>7*8/2 or "XYZ"!="xyz" and not(10-6>18/2)的值为  True     。

    7.下列Python语句的运行结果是    True    。

    1. x=True
    2. y=False
    3. z=False
    4. print(x or y and z)
    '
    运行

    p54:在逻辑运算中,not的优先级最高,其次是and,or的优先级最低 

    8.执行下列Python语句将产生的结果是   True False     

    1. m=True
    2. n=False
    3. p=True
    4. b1=m|n^p;b2=n|m^p
    5. print(b1,b2)
    '
    运行

     ‘|’是按位或,‘^’是按位异或,在p28

    0 | 0 = 0,0 | 1 = 1,1 | 0 = 1,1 | 1 = 1

     0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0

     

    由表可知,^的优先级大于|

    9.对于if语句中的语句块,应将它们    缩进对齐    

    10.当x=0,y=50时,语句z=x if x else y执行后,z的值是    50    

    三、问答题

    1.写出条件“20

    if (x>20 and x<30) or x<-100:

     

    2.Python实现选择结构的语句有哪些?各种语句的格式是十么?

    单分支选择结构

    if 表达式:
        语句块

    双分支选择结构

    if 表达式:
        语句块1
    else:
        语句块2

    多分支选择结构

    if 表达式1:
        语句块1
    elif 表达式2:
        语句块2
    elif 表达式3:
        语句块3
        ...
    elif 表达式m:
        语句块m
    [else:
        语句块n]

    3.下列两个语句各自执行后,x和y的值是多少?它们的作用是什么?

    1. x=y=5
    2. print(x,y)
    3. x=y==5
    4. print(x,y)
    '
    运行

    4.下列Python语句的运行结果为     no  

    1. x=False
    2. y=True
    3. z=False
    4. if x or y and z:print("yes")
    5. else:print("no")
    '
    运行

    p54:在逻辑运算中,not的优先级最高,其次是and,or的优先级最低 

    5.下列Python语句的运行结果为    2   

    1. x=True
    2. y=False
    3. z=True
    4. if not x or y:print(1)
    5. elif not x or not y and z:print(2)
    6. elif not x or y or not y and x:print(3)
    7. else:print(4)
    8. #print(not x or y) False
    9. #print(not x or not y and z) True
    10. #print(not x or y or not y and x) True
    '
    运行

    6.说明以下三个if语句的区别。

    语句一:

    1. if i>0:
    2. if j>0:n=1
    3. else:n=2

    第二行和第三行的if-else是配对的

    语句二:

    1. if i>0:
    2. if j>0:n=1
    3. else:n=2

    第一行和第三行的if-else是配对的

    语句三:

    1. if i>0:n=1
    2. else:
    3. if j>0:n=2

    第一行和第二行的if-else是配对的

  • 相关阅读:
    android edittext正则表达式限制输入内容
    Spring Web Flow 2 中流管理的持久化
    Shell(5)数组
    PDF文件格式(二):交叉引用类型“O“
    TADHE车灯专用修复UV胶--汽车灯罩修复领域之光
    猿创征文|Hadoop大数据技术
    入门学习XSS漏洞,这一篇就够了
    圆弧插补-逐点比较法
    AI 人工智能之常见概率分布(1)
    Java 动态数据源配置
  • 原文地址:https://blog.csdn.net/JYHZZ/article/details/126947576