一、选择题
1、关于Python中的字符串,下列说法错误的是()。
A、在三引号字符串中可以包含换行回车等特殊字符。
B、既可以用单引号,也可以用双引号创建字符串。
C、字符应该视为长度为1的字符串。
D、字符串以\0标志字符串的结束。
答案:D
2、关于python中的复数,下列说法错误的是()。
A、虚部必须后缀j且j不区分大小写。
B、表示复数的语法是real+image j。
C、实部和虚部都是整数。
D、复数之间只能比较是否相等。
答案:C
3、下列表达式中返回为True的是()。
A、0x56>56
B、’abc’>’xyz’
C、3>2>2
D、(3,2)>(‘a’,’b’)
答案:A
4、print(‘a’<‘b’<‘c’)上述代码的输出结果是()。
A、False
B、c
C、True
D、a
答案:C
5、x=“big”
y=2
print(x+y)上述代码的输出结果是()。
A、big2
B、bigbig
C、会报错
D、big
6、哪个选项是程序的三种基本结构?
A、顺序结构,跳转结构,循环结构
B、顺序结构,循环结构,分支结构
C、过程结构,循环结构,分支结构
D、过程结构,对象结构,函数结构
正确答案: B
7、哪个选项关于循环结构的描述是错误的?
A、条件循环和遍历循环结构都是基本的循环结构
B、死循环无法退出,没有任何作用
C、循环是程序根据条件判断结果向后反复执行的一种运行方式
D、循环是一种程序的基本控制结构
正确答案: B
答案解析:
x = 10
while True:
x = x - 1
if x == 1:
break
死循环是有其作用的。
8、关于Python语句P=-P,哪个选项的描述是正确的?
A、P的绝对值
B、P等于它的负数
C、给P赋值为它的负数
D、P=0
正确答案: C
9、哪个选项是用来判断当前Python语句在分支结构中?
A、大括号
B、冒号
C、引号
D、缩进
正确答案: D
10、关于try-except,哪个选项的描述是错误的?
A、使用了异常处理,程序将不会再出错
B、NameError是一种异常类型
C、用于对程序的异常进行捕捉和处理
D、表达了一种分支结构的特点
正确答案: A
异常处理:语句,try/except。如果try后面的语句发生了异常,Python就会跳
转到try向下匹配第一个except语句,匹配不到打印缺省错误信息。如果try后面
没有异常,则会执行else语句。且异常处理只是会捕捉异常,甚至无法确定异
常的准确位置。
二.填空题
1、
x=“big”
y=“name”
print(x+y)上述代码的输出结果是__bigname__。
2、
name=“Mike”
u = name[-2:],u的输出是__ke__。
3、
name=“Mike”
x = name.replace(“k”,“p”)x的输出是__Mape__。
#python 中的替换字符串replace函数具体用法如:
string.replace(old_string, new_string)
其中:string:是待处理的字符串,等价于题中的name
old_string:被替换的旧字符串,及题中的k
new_string:替换的新字符串,及题中的p
replace:替换的关键字
4、
输入正整数a,右对齐,用空格填充,带有千位分隔符,若a的长度超过20位,则按照实际长度输出。
例如:
a=1234
则输出 1,234
请在_____处填写正确的代码
n = eval(input("请输入正整数: "))
print("{______: >20,______}".format(n))
#在 : 号后加一个空格
5
0x4DC0是一个十六进制数,它对应的Unicode编码是中国古老的《易经》六十四卦的第一卦,请输出第51卦(震卦)对应的Unicode编码的二进制、十进制、八进制和十六进制格式。
print("二进制{______}、"十进制{______}、"八进制{______}、“十六进制{_________}”.format(______))
答案
第一空: 0:b
第二空: 0
第三空: 0:o
第四空: 0:x
第五空: 0x4DC0+50
6、
输入正整数a,居中对齐,用减号字符“-”填充,带有千位分隔符,若a的长度超过20位,则按照实际长度输出。
请在______处填写代码。
n = int(input())
print("{______}".format(n))
示例:
20210322
-----20,210,322-----
答案:
第一空: :-^20,
知识点:
str1='1st_format'
print('1.{:*^30}'.format(str1)) #居中对齐
print('2.{:*>30}'.format(str1)) #右对齐
print('3.{:*<30}'.format(str1)) #左对齐
打印效果:
**********1st_format**********
********************1st_format
1st_format********************
三、计算题
1、统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出某中英文字符、数字、空格和其他字符个数。
s = input("请输入一行字符:\n")
alpha,num,space,other=0,0,0,0
for i in s:
if i.isalpha(): #isalpha()方法语法:检测字符串是否有字母组成,中文会被判定为字母
alpha+=1
elif i.isdigit(): #i.isdigit()检测字符串是否有数字组成
num+=1
elif i.isspace(): #i.isspace()检测字符串是否有空格组成
space+=1
else :
other+=1
print('英文字符数{},\n数字字符数{},\n空格字符数{},\n其他字符数{}'.format(alpha,num,space,other))
2、四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请设计判断一个4位数的四位玫瑰数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
a,b,c,d,f=0,0,0,0,0
def power(x,n): #写一个函数结构,求x的幂
s=1
while n>0:
n=n-1
s=s*x
return s
for i in range(1000,10000):
a=i//1000 #提取千位数
b=(i//100)%10 #提取百位数
c=(i%100)//10 #提取十位数
d=i%10 #提取各位数
f=power(a,4)+power(b,4)+power(c,4)+power(d,4)
if f==i:
print('{}'.format(i))