Python刷题-6

1、下面哪个不是Python合法的标识符?(B)

A、int32
B、40XL
C、self
D、name

python中的标识符:
1)第一个字符必须是字母表中字母或下划线 _ 。
2)标识符的其他的部分由字母、数字和下划线组成。
3)标识符对大小写敏感。
4)不可以是python中的关键字,如False、True、None、class等。
注意:self不是python中的关键字。类中参数self也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self。
2、执行下面代码,请问输出结果为( A )
name = "顺顺"
def f1():
    print(name)
def f2():
    name = "丰丰"
f1()
f1()
f2()

A、顺顺 顺顺
B、丰丰  丰丰
C、顺顺 丰丰
D、丰丰  顺顺
3、下述字符串格式化语法正确的是?

A、'GNU's Not %d %%'  % 'UNIX'
B、'GNU\'s Not %d %%'  % 'UNIX'
C、'GNU's Not %s %%'   % 'UNIX'
D、'GNU\'s Not %s %%'  % 'UNIX'

python里面%d表数字,%s表示字符串,%%表示一个%;
单引号内嵌套单引号需要转义字符\;单引号内嵌套双引号不需要转义字符;
双引号内嵌套双引号需要转义字符\;双引号内引用单引号不需要转义字符;
4、关于Python中的复数,下列说法错误的是:C

A、表示复数的语法是real + image j
B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写
D、方法conjugate返回复数的共轭复数

正确答案选 C。
选项 A:Python 中复数的表示方法;

选项 B:复数的实部与虚部均为浮点数;

选项 C:虚部的后缀可以是 “j” 或者 “J”;

选项 D:复数的 conjugate 方法可以返回该复数的共轭复数。
5、在python中,使用open方法打开文件,语法如下:  
open(文件名,访问模式)   如果以二进制格式打开一个文件用于追加,则访问模式为:( C )

A、rb
B、wb
C、ab
D、a
指定对文件打开方式即文件内容操作方式
"r",   只读
"w",   可写
"a",   追加
"rb",  二进制读
"wb",  二进制写
"ab":,二进制追加
6、关于Python内存管理,下列说法错误的是 ( B ) 

A、变量不必事先声明
B、变量无须先创建和赋值而直接使用
C、变量无须指定类型
D、可以使用del释放资源

本题答案选 B,原因如下:
Python 是弱类型脚本语言,变量就是变量,没有特定类型,因此不需要声明。
但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在赋值的同时变量也就创建了
用 del 语句可以释放已创建的变量(已占用的资源)。
7、下面程序的功能是什么?(  A   )

def f(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 = 0 or 1:
3.    print "your input is" ,bit
4.else
5.    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 == 0 or bit == 1:
    print "your input is" ,bit
else:
    print "your input is invalid"
    
注意第 2 行千万不能写成:
if bit == 0 or 1: #相当于 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]意味着倒数第三个数和倒数第一个数 分别是97 99    
a[::3] start0 end99 step3 依次是0 3 6 9一直到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]数组和列表可以相互转换
posted @ 2020-09-30 09:10  喵哥解说  阅读(2655)  评论(0编辑  收藏  举报