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
A.2
C.2
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
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是配对的