重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、定义一个使用不定长参数的函数,并在函数中打印出参数及其类型,统计传入参数的个数
创新互联建站专注于企业成都营销网站建设、网站重做改版、双鸭山网站定制设计、自适应品牌网站建设、H5页面制作、商城建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为双鸭山等各大城市提供网站开发制作服务。
def test(a,b,*args,c=10,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
print("参数总长度:",1+1+len(args)+1+len(kwargs))
test(1,2,3,4,5,m=4)
def test(a,b,c=10,*args,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
print("参数总长度:",1+1+len(args)+1+len(kwargs))
test(1,2,3,4,5,m=4)
2、定义一个函数max,接受的参数类型是数值,最终返回两个数中的最大值
def max(num1,num2):
if num1num2:
return num1
else:
return num2
3、定义一个函数min,接受的参数类型是数值,最终返回两个数中的最小值
def min(num1,num2):
if num1num2:
return num1
else:
return num2
4、分别定义加减乘除四个函数实现两个数之间的加减乘除操作
# 加法
def add(a,b):
return a+b
# 减法
def sub(a,b):
return a-b
# 乘法
def mul(a,b):
return a*b
# 除法
def div(a,b):
if b==0:
return 0
else:
return a/b
5、分别定义加减乘除四个函数,然后实现多个数之间的累加累减累除累乘操作,如[1,2,3,4,5],累加即是1+2+3+4+5,注意当使用除法时,应判断被除数不能为0
#累加
def add(a,b,*args):
s=a+b
for i in args:
s=s+i
return s
#累减
def sub(a,b,*args):
s=a-b
for i in args:
s=s-i
return s
#累乘
def mul(a,b,*args):
s=a*b
for i in args:
s=s*i
return s
#累除
def div(a,b,*args):
if b==0:
return a
else:
s=a/b
for i in args:
if i ==0:
continue
else:
s=a/b
return s
6、使用不定长参数定义一个函数max_min,接受的参数类型是数值,最终返回这些数中的最大值和最小值——错题
def max_min(*args):
max=0
min=0
if len(args)==0:
return 0,0
elif len(args)==1:
return args[0],args[0]
else:
max=args[0]
min=args[0]
for i in args:
if maxi:
max=i
if mini:
min=i
return max,min
7、定义一个函数,返回n的阶乘的最后结果,并打印出如5阶乘"5!=120”的效果——错题
def f(n):
s=1
for i in range(n):
s=s*(i+1)
print('%s!=%s' %(n,s))
f(5)
8、定义一个函数,返回由n(包含n)以内的奇数或者偶数组成的列表,默认返回全是奇数的列表
def f(n,type='j'):
ls=[]
if type=='j':
for i in range(1,n+1):
if i%2==1:
ls.append(i)
if type=='o':
for i in range(1,n+1):
if i%2==0:
ls.append(i)
return ls
9、定义一个函数,打印出n以内的所有的素数(指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。)——错题
def f(n):
ls=[2]
for i in range(3,n):
for j in range(2,i):
if i%j == 0:
break
else:
ls.append(i)
print(ls)
10、定义一个函数,接受三个参数,分别为字符串s、数值a1、数值a2,将字符串s从下标a1开始的a2个字符删除,并把结果返回,a2默认值为0——错题
def cut_str(s,a1,a2=0):
length = len(s)
if a1+1length or a2 == 0:
return s
else:
s1 = s[:a1]
s2 = s[a1+a2:]
return s1+s2
print(cut_str("hello",6,1))
11、请定义两个函数,一个函数画正方形,一个函数画三角形,并且可以从键盘输入值来决定画正方形还是画三角形以及决定是否退出程序
我的答案:
import turtle
def z():
for i in range(4):
turtle.fd(20)
turtle.right(90)
def s():
for i in range(3):
turtle.fd(20)
turtle.right(120)
m=input('请输入值,z画正方形,s画三角形,其它任意键退出程序:')
if m =='z':
z()
elif m=='s':
s()
else:
print('退出程序')
官方答案:
def square(n):
for i in range(n):
print("*"*n)
def triangle(n):
for i in range(n):
print("*"*(i+1))
12、定义函数findall,实现对字符串find方法的进一步封装,要求返回符合要求的所有位置的起始下标,如字符串"helloworldhellopythonhelloc++hellojava",需要找出里面所有的"hello"的位置,最后将返回一个元组(0,10,21,29),即将h的下标全部返回出来,而find方法只能返回第一个——没懂
def findall(string, s):
ret = []
if s=='':
return ret
while True:
index = string.find(s)
if index != -1:
if len(ret)!=0:
ret.append(ret[-1]+index+len(s))
else:
ret.append(index)
string = string[index+len(s):]
else:
break
return ret
print(findall("abc-abc-abc-","-"))
1.以下关于程序设计语言的描述,错误的选项是:
A Python语言是一种脚本编程语言
B 汇编语言是直接操作计算机硬件的编程语言
C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
正确答案: C
2.表达式 1001 == 0x3e7 的结果是:
A false
B False
C true
D True
正确答案: B
3.以下选项,不是Python保留字的选项是:
A del
B pass
C not
D string
正确答案: D
4.表达式 eval(‘500/10’) 的结果是:
A ‘500/10’
B 500/10
C 50
D 50.0
正确答案: D
5.表达式 type(eval(‘45’)) 的结果是:
A
B
C None
D
正确答案: D
6.表达式 pmod(20,3) 的结果是:
A 6, 2
B 6
C 2
D (6, 2)
正确答案: D
7.以下关于字符串类型的操作的描述,错误的是:
A str.replace(x,y)方法把字符串str中所有的x子串都替换成y
B 想把一个字符串str所有的字符都大写,用str.upper()
C 想获取字符串str的长度,用字符串处理函数 str.len()
D 设 x = ’aa’ ,则执行x*3的结果是‘aaaaaa’
正确答案: C
8.设 str = ‘python’,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:
A print(str[0].upper()+str[1:])
B print(str[1].upper()+str[-1:1])
C print(str[0].upper()+str[1:-1])
D print(str[1].upper()+str[2:])
正确答案: A
9.以下选项,不属于程序流程图基本元素的是:
A 循环框
B 连接点
C 判断框
D 起始框
正确答案: A
10.以下关于循环结构的描述,错误的是:
A 遍历循环使用for in 语句,其中循环结构不能是文件
B 使用range()函数可以指定for循环的次数
C for i in range(5)表示循环5次,i的值是从0到4
D 用字符串做循环结构的时候,循环的次数是字符串的长度
正确答案: A
11.执行以下程序,输入”93python22”,输出结果是:
A python9322
B python
C 93python22
D 9322
正确答案: C
A la
B 请输入整数
C pythonpython
D python
正确答案: C
A 2
B 请输入q退出:
C 3
D 1
正确答案: A
14.以下程序的输出结果是:
A 0
B 2
C UnboundLocalError
D 5
正确答案: A
A 18 None
B 10 18
C UnboundLocalError
D 18 18
正确答案: B
def test( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(test(),z)
18,18
17.以下程序的输出结果是:
A 22.0 None
B 10 None
C 22 None
D 10.0 22.0
正确答案: B
18.以下表达式,正确定义了一个集合数据对象的是:
A x = { 200, ’flg’, 20.3}
B x = ( 200, ’flg’, 20.3)
C x = [ 200, ’flg’, 20.3 ]
D x = {‘flg’ : 20.3}
正确答案: A
19.以下程序的输出结果是:
A [‘z’, ‘j’, ‘s’, ‘y’]
B [‘j’, ‘s’, ‘y’, ‘z’]
C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]
D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]
正确答案: B
20.以下程序的输出结果是:
A htslbht
B hlbst
C tsblh
D hhlstt
正确答案: B
21.已知id(ls1) = 4404896968,以下程序的输出结果是:
A 4404896968 4404896904
B 4404896904 4404896968
C 4404896968 4404896968
D 4404896904 4404896904
正确答案: A
A [‘300’,‘200’,‘400’]
B [‘shandong’, ‘hebei’, ‘beijing’]
C [300,200,400]
D ‘shandong’, ‘hebei’, ‘beijing’
正确答案: B
23.以下关于文件的描述,错误的是:
A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
B open() 打开文件之后,文件的内容并没有在内存中
C open()只能打开一个已经存在的文件
D 文件读写之后,要调用close()才能确保文件被保存在磁盘中了
正确答案: C
24.以下程序输出到文件text.csv里的结果是:
A [90,87,93]
B 90,87,93
C ‘[90,87,93]’
D ‘90,87,93’
正确答案: B
25.以下程序的输出结果是:
A ( [1,2,3,4,5])
B [12, 34, 56, 78]
C ([12, 34, 56, 78])
D [1,2,3,4,5]
正确答案: B
26.以下关于数据维度的描述,错误的是:
A 采用列表表示一维数据,不同数据类型的元素是可以的
B JSON格式可以表示比二维数据还复杂的高维数据
C 二维数据可以看成是一维数据的组合形式
D 字典不可以表示二维以上的高维数据
正确答案: D
27.以下不属于Python的pip工具命令的选项是:
A show
B install
C download
D get
正确答案: D
29.以下不是程序输出结果的选项是:
A [12, 78, 56, 34]
B [56, 12, 78, 34]
C [12, 34, 56, 78]
D [12, 78, 34, 56]
正确答案: C
30.以下关于turtle库的描述,正确的是:
A 在import turtle之后就可以用circle()语句,来画一个圆圈
B 要用from turtle import turtle来导入所有的库函数
C home() 函数设置当前画笔位置到原点,朝向东
D seth(x) 是setheading(x)函数的别名,让画笔向前移动x
正确答案: C
31.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A 栈
B 堆
C 链表
D 数组
正确答案: A
因为函数调用是能过将关键寄存器压栈保护现场;在函数返回时,弹栈恢复现场来完成的。
而递归调用说白了就是自已调用自己。也就是不停的上演pop, push的栈操作。
系统为什么选用栈来实现函数间的调用呢?我觉的主要原因如下:
对于频繁的调用操作过程中,栈的pop,push操作最简洁,快速。硬件级(或者理解成汇编级也行)支持栈操作。所以用栈最高效,快速。如果用堆、数组、链表,不光要维护很多功能辅助性数据,算法也很麻烦。这样会大大降低计算机的使用效率。
32.下列叙述中正确的是
A 一个算法的空间复杂度大,则其时间复杂度必定小
B 一个算法的空间复杂度大,则其时间复杂度也必定大
C 算法的时间复杂度与空间复杂度没有直接关系
D 一个算法的时间复杂度大,则其空间复杂度必定小
正确答案: C
34.软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A 辅助资源
B 硬件资源
C 通信资源
D 支持软件
正确答案: A
35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
A 错误推测法
B 白箱测试法
C 黑箱测试法
D 安装测试法
正确答案: C
37.下列有关数据库的描述,正确的是
A 数据库是一个关系
B 数据库是一个DBF文件
C 数据库是一个结构化的数据集合
D 数据库是一组文件
正确答案: C
38.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
A 可重用性差
B 冗余性
C 非持久性
D 安全性差
正确答案: B
39.软件开发的结构化生命周期方法将软件生命周期划分成
A 定义、开发、运行维护
B 设计阶段、编程阶段、测试阶段
C 总体设计、详细设计、编程调试
D 需求分析、功能定义、系统设计
正确答案: A
40.下列不属于结构化分析的常用工具的是
A 判定树
B 数据字典
C 数据流图
D PAD图
正确答案: C
CSDN上找。
进入公众号主页,点击右上角搜索按钮,输入作业题目关键字,获取答案。CSDN是功能齐全,大部分题目都可以搜到。
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
欧几里得(Euclid)算法是用来求两个整数的最大公约数。
欧几里得算法指出,对于整数m和n,如果m可以被n整除,那么它们的最大公因数为n。然而,如果m不可以被n整除,那么结果就是n与(m除以n的余数)的最大公因数。
1、complex()
返回一个形如 a+bj 的复数,传入参数分为三种情况:
参数为空时,返回0j;参数为字符串时,将字符串表达式解释为复数形式并返回;参数为两个整数(a,b)时,返回 a+bj;参数只有一个整数 a 时,虚部 b 默认为0,函数返回 a+0j。
2、dir()
不提供参数时,返回当前本地范围内的名称列表;提供一个参数时,返回该对象包含的全部属性。
3、divmod(a,b)
a -- 代表被除数,整数或浮点数;b -- 代表除数,整数或浮点数;根据 除法运算 计算 a,b 之间的商和余数,函数返回一个元组(p,q) ,p 代表商 a//b ,q 代表余数 a%b。
4、enumerate(iterable,start=0)
iterable -- 一个可迭代对象,列表、元组序列等;start -- 计数索引值,默认初始为0‘该函数返回枚举对象是个迭代器,利用 next() 方法依次返回元素值,每个元素以元组形式存在,包含一个计数元素(起始为 start )和 iterable 中对应的元素值。
第一题:int
第二题:-1
第三题:list
第四题:key in dict
第五题:false
第六题:return
第七题:开源
第八题:
第九题:dict.get(key)
第十题:(1)无参数,无返回值;(2)无参数,有返回值的函数;(3)有参数,无返回值的函数;(4)有参数,有返回值的函数