1.Python特性的是( )。
A. 面向对象 B. 高可移植性 C. 开源、免费
2.临时改变Python语言安装源应当使用的选项是
–index-url
3.Python脚本文件的扩展名为( )
.py
4.安装Python语言的软件包使用的命令是( )
pip install
5 . (单选题)以下哪项是不正确的?
A. x=03964 B. x=0x4f5 C. x=19023 D. x=0b101 我的答案: A
6.( # )是Python语言的注释符。
7.eval§函数要求参数p是()类型的表达式。
字符串
8 .Python自带的文本编辑器是( )
IDLE
9 .Python语言支持的两种编程方式是文件式编程与( )编程
交互式编程
10.Python语言的默认字符编码是( )。
UTF-8
字符串s中x的数量
len(s)
13 用户输入0-100之间的百分制成绩,将其转为五分制输出,下面正确的答案为
score = float(input())
degree = “EEEEEEDCBAA”
score_five = degree[int(score // 10)]
print(score_five)
s.strip()
Hello world
3.000
后一条语句多输出一个空行
python中random库中,可以产生整数随机数的方法有:
randint()
18.python中random库中,可以从非空序列中产生一个元素的方法是:
choice()
19.“+” 可以用于将多个字符串拼接为一个,下面正确的有:
A. ‘Hello’+"world"B. “Hello”+'2021’D. “Hello”+str(2021)
20.“*” 可用于字符串的重复,下面选项正确的有:
C. 3 * ‘Hello’ D. ‘Hello’ * 3
下面可以正确输出的选项有:
A. print(s[0]) B. print(s[-3]) C.print(s[11])
22.year = 2021 下面语句中可以正确输出"2021年"的有:
B. print(str(year) + ‘年’) C. print(f’{year}年’)
D. print(‘{}年’.format(year))
23.Python中random产生的随机数是通过算法计算得到的伪随机数,算法开始计算的第一个值称为种子,seed()方法可以设置种子的值,关于种子的描述,下面选项中正确的有:
B. 不指定种子值时,种子值为系统时间 C. 不同的种子可以获得不同的随机数序列 D. 相同的种子可以获得相不同的随机数序列
24.import numpy as np
print(np.array([1, 2, 3, 4]))
以上程序的运行结果为:
B. [1 2 3 4]
25.import numpy as np
print(np.linspace(0, 10, 11))
以上程序的运行结果为:
A. [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
26.import numpy as np
print(np.arange(1, 11))
以上程序的运行结果为:
A. [ 1 2 3 4 5 6 7 8 9 10]
27.以下程序将绘制一条直线,为该图增加图名’Line charts’,下面正确的选项为:
import matplotlib.pyplot as plt
x = (1, 2, 3, 4)
y = (1, 2, 3, 4)
plt.plot(x, y)
plt.title(‘test’)
plt.show()
plt.title(‘Line charts’)
28.保存绘制的图形的函数为:
D. savefig()
29.下面程序中,plot()函数的参数x和y可为哪种数据类型:
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.show()
A. 数组 B. 列表 D. 元组
30.应用plt.legend()设置图例放置位置,参数loc的值可以为:
A. ‘lower right’ B. ‘upper right’ C. ‘lower left’ D. ‘upper left’
31.绘制水平线的方法有:
A. hlines() C. axhline()
32.绘制垂直线的方法有:
B. vlines() D. axvline()
33.设置二行二列4个子图并在第3个区域绘制图形,以下语句正确的有:
A. plt.subplot(2, 2, 3)
C. plt.subplot(223)
34.Python语言属于( )型执行语言。
解释
35.目前Python语言的主流版本是( )。
3.x
36.跟C/C++比较来说,Python最令人诟病的缺点是( )。
执行效率低
37.Python语言是开源的、免费的。
对
38.下列表达式在Python中非法的是( b)。
A x = y = z = 1 B. x = ( y = z + 1 ) C. x, y = y, x D. x + = y
39.产生下面执行结果的原因是( )
print(1.2 -1.0 == 0.2)
False
浮点数无法精确表示
40.下面代码运行结果是( )。
a = ‘a’
print(a>‘b’ or ‘c’)
c
41.在python语言中,下面( )不是有效的变量名。
my-score
42.关于a or b的描述,错误的是(c )
A 如果 a = True, b= True, 则a or b 等于True
B. 如果 a = True, b= False, 则a or b 等于True
C. 如果 a = True, b= False, 则a or b 等于False
D. 如果 a = False, b= False, 则a or b 等于False
43.在Python语言中,变量无须声明就可以直接赋值。
对
44.在Python语言中,变量的数据类型可以随时改变。
对
45.下面哪些数据可以用int()函数转为整数:
print(int(3.14)) print(int(‘3’))
46.表示整数num能被4整除的表达式为:
num % 4 == 0
47.布尔运算表达式 10 and ‘’ 的值为:
A. ‘’(空字符串)
48.布尔运算表达式 ‘’ or 10 的值为:
10
49.range(5)可以得到整数数列为:
0,1,2,3,4
50.range(1, 5)可以得到数列:
1,2,3,4
51.range(5,1)可以得到数列
(空)
52.用于提前终止循环的流程控制语句是:
break
53.判定一个整数在区间 [85, 100] (方括号表示闭区间)的表达式为:
B. 85 <= num <= 100
54.遍历循环语句的结构为:
for var in iterable:
其中var为变量名;iterable为一个可迭代对象,包括哪些类型的对象?
集合、range、列表、元组
55…定义函数的关键字是:
def
56.if name == ‘main’: 下面语句块中的语句何时执行?
不论什么时候都会被执行
57.关于return语句,下面说法中正确的有:
A. 一个return可以返回一个值
B. 一个return可以返回多个值
C. 一个return返回多个值时以元组形式返回
58.关于字符串的定义,下面选项中正确的有:
A.‘Hello’
B. “Hello”
C. ‘’
D. ’ ’
59.“+” 可以用于将多个字符串拼接为一个,下面正确的有:
A.‘Hello’+“world”
B. “Hello”+‘2021’
D. “Hello”+str(2021)
60.“*” 可用于字符串的重复,下面选项正确的有:
C.3 * ‘Hello’
D. ‘Hello’ * 3
61.用于返回字符串s的长度的函数为:.
len(s)
62.元组是置于圆括号中的一组数据,数据之间用逗号分隔,下面选项中的数据为元组类型的有:
A.()
C. 1,
D. (1,2,3,4)
63.元组与列表的主要区别有:
A. 元组是不可变数据类型,列表是可变数据类型
C. 元组的界定符是圆括号,列表的界定符是方括号
D. 元组的内置方法只有count()和index(),列表的内置方法较多
64.在确定序列长度的情况下,可以用多变量赋值语句把元组、列表和字符串等序列解包,将元素分别赋值给多个独立变量,下面语句正确的有:
A. x, y = 5, 10
B. x, y = (5, 10)
C. a, b, c = ‘xyz’
D. x, y = [3, 6]
65.列表是python中应用最广泛、最灵活的数据类型之一,关于列表元素,正确的描述有:
A列表元素可以全是整数
B. 列表元素可以是不同类型
C. 列表元素可以仍是列表
D. 列表元素可以增加删除
66.以下列表操作方法中,属于原地操作,无返回值的为:
B append()
C. remove()
D. clear()
67.sort()和sorted()都可以用于列表元素的排序,下面描述正确的有:
A sort()是原地排序,无返回值
B. sorted()返回一个排序的列表C. 二者都可以用参数key指定排序关键字
D. 二者默认都是升序排序
68.ls为一个列表,下面正确的选项有:
B. 对于空列表,ls.pop()会触发异常
C. ls[1:]都可以获取去除第一个元素的列表,列表为空时仍返回空列表
D. 对于非空列表,ls.pop(0)可以获取去除第一个元素的列表
69.集合是将元素置于{}中并用逗号分隔开的数据类型,关于集合,下面正确的选项为
A. 集合中的元素是无序的
B. 集合中不存在重复元素
C. 集合中元素是不可变数据类型
D. 可变集合中的数据可以增加和删除
70.创建空的可变集合的方法是:
s = set()
71.向集合中增加元素的方法是:
s.add(x)
72.从集合中删除元素的方法有:
A. s.remove(x)
B. s.discard(x)
C. s.pop(x)
D. s.clear()
73.s.remove(x)和s.discard(x)都可以从集合s 中删除元素x,二者的区别是:
x在集合s中不存在时,使用s.discard(x)不触发异常
73.以下选项中能返回集合s和t的并集的是:
A. s | t
B. s.union(t)
75.以下选项中能返回集合s和t的交集的是:
B. s & t
D. s.intersection(t)
76.以下选项中能返回集合s和t的差集的是:
C. s - t
D. s.difference(t)
77.创建空字典的方法为:
A. d = {}
print(d)
B. d = dict()
print(d)
78.关于字典的概念,以下选项正确的有:
A. 字典的元素分键和值两部分
B. 字典的键不可以重复
C. 字典的键必须是不可变数据类型
79.从字典d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325}中输出’上海’的值,下面程序正确的是:
B. d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325}
print(d[‘上海’])
C. d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325}
print(d.get(‘上海’))
80.向字典d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985}中增加元素’重庆’: 3325,下面程序正确的是
A d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985} d[‘重庆’] = 3325 print(d)
C. d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985} d.update({‘重庆’: 3325})
print(d)
81.从字典d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325}中删除元素’重庆’: 3325,下面程序正确的有:
A. d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325} d.pop(‘重庆’)
print(d)C. d = {‘北京’: 2030, ‘上海’: 2200, ‘天津’: 1985, ‘重庆’: 3325} del d[‘重庆’]
print(d)
82.“物不知数”出自《孙子算经》。题目为“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”意思是说有一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;7个7个数也会多出2个。
假设物品总数不超过1000,请问这些个物品可能有多少个?
输入格式
输入一个正整数
输出格式
不超过输入数字且满足条件的物品个数
num = int(input())
if num <1000:
for i in range(1, num+1):
if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
print(i)
83.大诗人李白,一生好饮酒。一天,他提着酒壶,从家里出来,酒壶中有酒若干。他边走边唱:无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,五遇店和花,喝光壶中酒,计算并输出壶中原有酒几斗?
i=5
x=0
while i>0:
x = x+1
x = x/2
i = i-1
print(x)
84.有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,已知共有765盏琉璃灯,计算并输出每层各有多少盏琉璃灯。
from itertools import count
for first in count(1,1):
floors=[first*(2**i) for i in range(8)]
if sum(floors)==765:
for index,value in enumerate(floors,start=1):
print(f'{value}')
break
85.写一个函数is_prime(n)用于判断一个数字n是不是素数,用户输入一个正整数,判定其是否为素数,返回值为布尔值。
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
num = int(input(""))
result = is_prime(num)
print(result)
86.定义一个函数实现整数的幂运算,用以计算 x 的 n 次方
def power(x, n):
result = 1
if n < 0:
x = 1 / x
n = -n
while n:
if n % 2 != 0:
result *= x
x *= x
n //= 2
return result
a = int(input())
b = int(input())
c = power(a, b)
print(c)
87.写一个函数用于判断用户输入的年份是不是闰年,如果是返回“True”,如果不是返回“False”。
用这个函数判断输入的年份是不是闰年
输入格式:2023
输出格式:2023年不是闰年
def is_leap_year(year):
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
else:
return False
year = int(input())
result = is_leap_year(year)
if result:
print("{}年是闰年".format(year))
else:
print("{}年不是闰年".format(year))
88.有时候你预先不知道函数需要多少实参,此时可以给函数传递一个用“*”开头的序列类型的参数,例如:“*id”,形参名id前面的星号会让Python创建一个空元组,将收集到的所有实参值都封装到这个元组里。
定义一个函数say_hi_multi_parameter,使之可接收任意数量的姓名为参数,调用函数时,可以传递多个参数。
输出:
孟浩然,你好!
杜甫,你好!
李白,你好!
def say_hi_multi_parameter(*name):
for i in name:
print(f'{i},你好!')
say_hi_multi_parameter('孟浩然')
say_hi_multi_parameter('杜甫')
say_hi_multi_parameter('李白')
89.设计一个简单计算器,实现加+、减-、乘*、除/、整除//和幂运算**。
number1 = int(input())
operator = input()
number2 =int(input())
result = 1
if operator == '+':
result = number1 + number2
elif operator == '-':
result = number1 - number2
elif operator == 'x':
result = number1 * number2
elif operator == '/':
result = number1 / number2
elif operator == '//':
result = number1 // number2
elif operator == '**':
result = number1 ** number2
print("{} {} {} = {}".format(number1, operator, number2, result))
90.自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身,例如:13 + 53+ 3**3 = 153,编程寻找并输出 n 位的自幂数,n 由用户输入,每行输出一个数字。
输入格式
输入一个大于或等于 3 且小于 7 的正整数 n
输出格式
在同一行内按从小到大的顺序输出 n 位的自幂数,数字间用一个空格隔开。若无自幂数,输出“不存在n位自幂数”
n = int(input())
result = []
for num in range(10**(n-1), 10**n):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if sum == num:
result.append(str(num))
if len(result) > 0:
print(" ".join(result))
else:
print("不存在{}位自幂数".format(n))
91.从1~n中,去掉3的倍数和位数上出现3的数。
输入:n
输出:剩余的数,中间用单空格隔开。
def dethree():
n = int(input())
ls = list(range(n))
for x in ls:
if x%3 == 0: # 3的倍数
ls.remove(x)
for x in ls:
if '3' in str(x): # 含3的数字
ls.remove(x)
for x in ls:
print(x,end=" ")
if __name__ == '__main__':
dethree()
92.通讯录查询
描述
构建一个字典,存储姓名和对应的电话号码:
{‘李明’: ‘13988887777’, ‘张宏’: ‘13866668888’}
利用这个字典进行电话号码简单的查询。
输入一个姓名和电话号码,如果姓名在字典中不存在,则输出提示。
# 创建字典
name_phone_dict = {'李明': '13988887777', '张宏': '13866668888'}
# 定义查询函数
def query_phone(name):
if name in name_phone_dict:
return name_phone_dict[name]
else:
return "联系人{}信息不存在".format(name)
# 输入姓名
input_name = input()
# 输出电话号码或提示信息
print(query_phone(input_name))