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

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

2.将数学式2<x≤10表示成正确的Python表达式为(    B  )。

A.2<x<=10               B.2<x and x<=10

C.2<x && x<=10          D.x>2 or x <=10

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

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

x = eval(input())
print(x == 0)

#print(x=0)报错
print(not x)
print(x)
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:

if a>0:x=20
else:x=200

B:

if a>0:x=20
else:
    x=200

C:

if a>0:
    x=20
else:x=200

D:

if a>0
    x=20
else
    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

if 2:
    print(5)
else:
    print(6)

0假,非0真

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

A:

maxNum=x if x>y else y

B:

if x>y:maxNum=x
else:maxNum=y

C:

maxNum=y
if x>y:maxNum=x

D:

if y>=x:maxNum=y
maxNum=x

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

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

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

x=0
y=True
print(x>y and 'A'<'B')
#print(x>y) False
#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    。

x=True
y=False
z=False
print(x or y and z)

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

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

m=True
n=False
p=True
b1=m|n^p;b2=n|m^p
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<x<30或x<-100”的Python表达式。

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的值是多少?它们的作用是什么?

x=y=5
print(x,y)
x=y==5
print(x,y)

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

x=False
y=True
z=False
if x or y and z:print("yes")
else:print("no")

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

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

x=True
y=False
z=True
if not x or y:print(1)
elif not x or not y and z:print(2)
elif not x or y or not y and x:print(3)
else:print(4)
#print(not x or y) False
#print(not x or not y and z) True
#print(not x or y or not y and x) True

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

语句一:

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

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

语句二:

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

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

语句三:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值