6、关于Python内存管理,下列说法错误的是 ( B )
A、变量不必事先声明
B、变量无须先创建和赋值而直接使用
C、变量无须指定类型
D、可以使用del释放资源
本题答案选 B,原因如下:
Python 是弱类型脚本语言,变量就是变量,没有特定类型,因此不需要声明。
但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在赋值的同时变量也就创建了
用 del 语句可以释放已创建的变量(已占用的资源)。
7、下面程序的功能是什么?( A )
deff(a, b):if b ==0:print(a)else:
f(b, a%b)
a,b =input("Enter two natural numbers: ")print(f(a, b))
A、求 AB最大公因数
B、求AB最小公约数
C、求A%B
D、求A/B
a % b 是求余数
辗转相除法,又称欧几里得算法,以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数。
最小公倍数=两整数的乘积➗最大公约数
input()不能同时赋值两个字符串
8、以上程序要求用户输入二进制数字0/1并显示之,请指出程序中代码第几行存在错误:( AD )
1.bit =input("Enter a binary digit:")2.if bit =0or1:3.print"your input is",bit
4.else5.print"your input is invalid"
A、4
B、5
C、3
D、2
由 print 的格式可知此代码在 Python2.x 下执行,并且第 2 行与第 4 行有语法错误,正确的代码如下:
bit =input("Enter a binary digit:")if bit ==0or bit ==1:print"your input is",bit
else:print"your input is invalid"
注意第 2 行千万不能写成:
if bit ==0or1:#相当于 if (bit == 0) or 1:
因为以上条件语句不管 bit 为何值,都恒为真!
还有第 4 行的 else 后需要加上冒号。
9、若 a =range(100),以下哪些操作是合法的? (A B C D)
A、a[-3]
B、a[2:13]
C、a[::3]
D、a[2-3]
实际上是a[start:end:step]
根据a=range(100)可得start的默认值是0,end的默认值是99,step的默认值是1。
range(100)表示从0到99共一百个数
a[-3]和a[2-3]意味着倒数第三个数和倒数第一个数 分别是9799
a[::3] start0 end99 step3 依次是0369一直到99 步长为3
a[2:13]从a[2]到a[12] 不包括13,前闭后开
10、若 a =(1,2,3),下列哪些操作是合法的? (A B D) 元组:左闭右开
A、a[1:-1]
B、a*3
C、a[2]=4
D、list(a)
如果a[-1]=(3),tuple 是一个不可改变的list,所以[1:-1],就是从1开始取,取不到-1,就是从第二个取值,取到倒数第二个
a[1:-1]---->(2,) 元组必须带逗号,不带逗号会被误认为为int类型而不是元组
a*3---->(1,2,3,1,2,3,1,2,3) a本身没变,a*3是一个新的元组,已经不是a了
a是元组不可改变
list(a)----->[1,2,3]数组和列表可以相互转换