新聞中心
python的題 求解
def one(s):
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)孫吳,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575
return s == s[::-1]
def two(lst):
lst.sort()
del(lst[len(lst) - 1])
lst.append(lst.pop(0))
return lst.copy()
def three(s1, s2, s3):
return (s1 | s2 | s3,
s1 s2 s3,
(s1 | s2) - (s2 | s3))
def four(num):
return sum(map(int, str(num)))
def five():
text="12345"
fo = open("five.txt", "w", encoding="utf-8")
fo.write(text)
fo.close()
python函數(shù)填空題?
推斷函數(shù)sumn是求奇數(shù)的和。
如果不包括7
第1空:n
第2空: 9
如果包括7
第1空:n+1
第2空:16
一道python的控制結(jié)構(gòu)和函數(shù)編程題?
不考慮效率的話,因數(shù)和就直接用所有小于x的正整數(shù)試商即可,因此,可以寫(xiě)成:
小猿圈python之python期末考試測(cè)試題(一)
又快臨近期末考試了,小伙伴們是不是又開(kāi)始焦慮了呢?掛科怎么辦?如果很幸運(yùn)看到我的文章,你就偷著樂(lè)吧,我總結(jié)出:一般python期末考試?yán)蠋焸冏類(lèi)?ài)考的內(nèi)容,一定要好好看啊,爭(zhēng)取做到python不掛科;還有暑假馬上來(lái)了,小伙伴們可以在閑暇之際,看看小猿圈的視頻,為以后找工作墊墊基礎(chǔ),也是很不錯(cuò)的。
一、選擇題
1、已知x=[1,2]和y=[3,4],那么x+y等于什么(? )
A、3? ? ? ? ? ? B、7? ? ? ? ? ? C、[1,2,3,4]? ? ? ? ? D、[4,6]
2、os.path模塊的下列方法,哪個(gè)是用來(lái)判斷指定路徑是否存在的?(? )
A、exists()? ? ? B、exist()? ? ? ? C、getsize()? ? D、isfile()
3、以下選項(xiàng)中不是 Python 對(duì)文件的寫(xiě)操作方法的是 ( D )
A、 writelines? ? ? B、write? ? ? ? C、rite 和 seek? ? ? ? D、writetext
4、關(guān)于算法的描述,以下選項(xiàng)中錯(cuò)誤的是? ( B )
A、算法是指解題方案的準(zhǔn)確而完整的描述
B、算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和數(shù)據(jù)復(fù)雜度
C、算法具有可行性、確定性、有窮性的基本特征
D、算法的基本要素包括數(shù)據(jù)對(duì)象的運(yùn)算和操作及算法的控制結(jié)構(gòu)
解釋?zhuān)核惴◤?fù)雜度是指算法在編寫(xiě)成可執(zhí)行程序后,運(yùn)行時(shí)所需要的資源,資源包括時(shí)間資源和內(nèi)存資源。
5、.關(guān)于Python的lambda函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( B )
A、 lambda函數(shù)將函數(shù)名作為函數(shù)結(jié)果返回
B、f = lambda x,y:x+y 執(zhí)行后,f的類(lèi)型為數(shù)字類(lèi)型
C、lambda用于定義簡(jiǎn)單的、能夠在一行內(nèi)表示的函數(shù)
D、可以使用lambda函數(shù)定義列表的排序原則
6、基本的Python內(nèi)置函數(shù)eval(x)的作用是 ( B )
A、 將x轉(zhuǎn)換成浮點(diǎn)數(shù)
B、去掉字符串x最外側(cè)引號(hào),當(dāng)作Python表達(dá)式評(píng)估返回其值
C、計(jì)算字符串x作為Python語(yǔ)句的值
D、 將整數(shù)x轉(zhuǎn)換為十六進(jìn)制字符串
二、填空題
1、 在Python中____表示空類(lèi)型。(None)
2、 查看變量類(lèi)型的Python內(nèi)置函數(shù)是______。(type())
3、list(map(str, [1, 2, 3]))的執(zhí)行結(jié)果為_(kāi)__________。([‘1’, ‘2’, ‘3’])
4、 Python標(biāo)準(zhǔn)庫(kù)math中用來(lái)計(jì)算平方根的函數(shù)是____。(sqrt)
5、 假設(shè)有列表a = [‘name’, ‘a(chǎn)ge’, ‘sex’]和b = [‘Dong’, 38, ‘Male’],請(qǐng)使用一個(gè)語(yǔ)句將這兩個(gè)列表的內(nèi)容轉(zhuǎn)換為字典,并且以列表a中的元素為“鍵”,以列表b中的元素為“值”,這個(gè)語(yǔ)句可以寫(xiě)為_(kāi)__________。(c = dict(zip(a, b)))
三、簡(jiǎn)答題
1、簡(jiǎn)單解釋Python基于值的自動(dòng)內(nèi)存管理方式?
----Python采用的是基于值得內(nèi)存管理方式,在Python中可以為不同變量賦值為相同值,這個(gè)值在內(nèi)存中只有一份,多個(gè)變量指向同一個(gè)內(nèi)存地址;Python具有自動(dòng)內(nèi)存管理功能,會(huì)自動(dòng)跟蹤內(nèi)存中所有的值,對(duì)于沒(méi)有任何變量指向的值,Python自動(dòng)將其刪除。
2、異常和錯(cuò)誤有什么區(qū)別?
----異常是指因?yàn)槌绦驁?zhí)行過(guò)程中出錯(cuò)而在正??刂屏饕酝獠扇〉男袨?。嚴(yán)格來(lái)說(shuō),語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤不屬于異常,但有些語(yǔ)法錯(cuò)誤往往會(huì)導(dǎo)致異常,例如由于大小寫(xiě)拼寫(xiě)錯(cuò)誤而訪問(wèn)不存在的對(duì)象,或者試圖訪問(wèn)不存在的文件,等等。
3、請(qǐng)用自己的算法, 按升序合并如下兩個(gè)list, 并去除重復(fù)的元素:
? list1 = [2, 3, 7, 4, 9, 5, 6,18]
? list2 = [5, 6, 10, 17, 3, 2,1]
----先轉(zhuǎn)換成集合自動(dòng)去重,再轉(zhuǎn)換成列表
? list1=[2, 3, 7, 4, 9, 5, 6,18]
? list2=[5, 6, 10, 17, 3, 2,1]
? list3=list(set(list1+list2))
4、求結(jié)果
def num():
? return [lambda x: i*x for i in range(4)]
? print([m(2) for m in num()])
? 答案:[6, 6, 6, 6]
5、如何生成一個(gè)隨機(jī)數(shù)?
import random
def rdm(n):
lis = []
for i in range(n):
n = random.randint(1,9)
lis.append(str(n))
? s = ''.join(lis)
? return int(s)
這套題就到這里,同學(xué)們做的怎么樣啊,如果是毫無(wú)壓力,那估計(jì)你這個(gè)學(xué)期學(xué)的python還闊以了,如果有點(diǎn)難度,那就要仔細(xì)看看了,因?yàn)檫@套題很基礎(chǔ),看哪沒(méi)有學(xué)明白,好好看看那一部分的內(nèi)容,自己復(fù)習(xí)不進(jìn)去,也可以來(lái)小猿圈看看,把自己的弱項(xiàng)重新聽(tīng)聽(tīng)課,準(zhǔn)備迎接期末考試吧,希望大家考的都會(huì),蒙的全對(duì),加油啦!
python(16):函數(shù)(3)
==================================
將列表傳遞給函數(shù)后,函數(shù)就能直接訪問(wèn)其內(nèi)容
假設(shè)有一個(gè)用戶列表,要問(wèn)候其中的每位用戶
將列表傳遞給函數(shù)后,函數(shù)就可對(duì)其進(jìn)行修改,在函數(shù)中對(duì)這個(gè)列表所做的任何修改都是永久性的
一家為用戶提交的設(shè)計(jì)制作3D打印模型的公司,需要打印的設(shè)計(jì)存儲(chǔ)在一個(gè)列表中,打印后轉(zhuǎn)移到另一個(gè)列表中。
有時(shí)候需要禁止函數(shù)修改列表,為解決這個(gè)問(wèn)題,可想向函數(shù)傳遞列表的副本而不是元件;這樣函數(shù)所做的任何修改都只影響副本,不影響元件
有時(shí)候,預(yù)先布置的函數(shù)需要接受多少個(gè)實(shí)參,python允許函數(shù)從調(diào)用語(yǔ)句中手機(jī)任意數(shù)量的實(shí)參
一個(gè)制作披薩的寒素,它需要接受很多配料,但無(wú)法確定顧客要多少種配料,下面函數(shù)只有一個(gè)形參*toppings,不管調(diào)用語(yǔ)句提供了多少實(shí)參,這個(gè)形參都將他們統(tǒng)統(tǒng)收入囊中
如果要讓函數(shù)接受不同類(lèi)型的實(shí)參,必須在函數(shù)定義中將接納任意數(shù)量實(shí)參的形參放在最后
python先匹配位置實(shí)參和關(guān)鍵字實(shí)參,再將余下的實(shí)參收集到最后一個(gè)形參中
如果前邊的函數(shù)還需要一個(gè)表示披薩尺寸的實(shí)參,必須將該形參放在*toppings的前面
有時(shí)候,需要接受任意數(shù)量的實(shí)參,但預(yù)先不知道傳遞給函數(shù)的會(huì)是射門(mén)楊的信息,再這種情況下,可將函數(shù)編寫(xiě)成能夠接受任意數(shù)量的鍵-值對(duì),調(diào)用語(yǔ)句提供了多少就接受多少
創(chuàng)建用戶簡(jiǎn)介:你知道你將收到有關(guān)用戶的信息,但不確定會(huì)是什么樣的信息,在下面示例中,build_profile()接受名和姓,同時(shí)還接受任意數(shù)量的關(guān)鍵字實(shí)參
20201014-python高級(jí)函數(shù)作業(yè)
1、定義一個(gè)使用不定長(zhǎng)參數(shù)的函數(shù),并在函數(shù)中打印出參數(shù)及其類(lèi)型,統(tǒng)計(jì)傳入?yún)?shù)的個(gè)數(shù)
def test(a,b,*args,c=10,**kwargs): ??
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
print("參數(shù)總長(zhǎng)度:",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("參數(shù)總長(zhǎng)度:",1+1+len(args)+1+len(kwargs))
test(1,2,3,4,5,m=4)
2、定義一個(gè)函數(shù)max,接受的參數(shù)類(lèi)型是數(shù)值,最終返回兩個(gè)數(shù)中的最大值
def max(num1,num2):
if num1num2:
return num1
else:
return num2
3、定義一個(gè)函數(shù)min,接受的參數(shù)類(lèi)型是數(shù)值,最終返回兩個(gè)數(shù)中的最小值
def min(num1,num2):
if num1num2:
return num1
else:
return num2
4、分別定義加減乘除四個(gè)函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)之間的加減乘除操作
# 加法
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、分別定義加減乘除四個(gè)函數(shù),然后實(shí)現(xiàn)多個(gè)數(shù)之間的累加累減累除累乘操作,如[1,2,3,4,5],累加即是1+2+3+4+5,注意當(dāng)使用除法時(shí),應(yīng)判斷被除數(shù)不能為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、使用不定長(zhǎng)參數(shù)定義一個(gè)函數(shù)max_min,接受的參數(shù)類(lèi)型是數(shù)值,最終返回這些數(shù)中的最大值和最小值——錯(cuò)題
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、定義一個(gè)函數(shù),返回n的階乘的最后結(jié)果,并打印出如5階乘"5!=120”的效果——錯(cuò)題
def f(n):
s=1
for i in range(n):
s=s*(i+1)
print('%s!=%s' %(n,s))?
f(5)
8、定義一個(gè)函數(shù),返回由n(包含n)以內(nèi)的奇數(shù)或者偶數(shù)組成的列表,默認(rèn)返回全是奇數(shù)的列表
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、定義一個(gè)函數(shù),打印出n以內(nèi)的所有的素?cái)?shù)(指在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的自然數(shù)。)——錯(cuò)題
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、定義一個(gè)函數(shù),接受三個(gè)參數(shù),分別為字符串s、數(shù)值a1、數(shù)值a2,將字符串s從下標(biāo)a1開(kāi)始的a2個(gè)字符刪除,并把結(jié)果返回,a2默認(rèn)值為0——錯(cuò)題
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、請(qǐng)定義兩個(gè)函數(shù),一個(gè)函數(shù)畫(huà)正方形,一個(gè)函數(shù)畫(huà)三角形,并且可以從鍵盤(pán)輸入值來(lái)決定畫(huà)正方形還是畫(huà)三角形以及決定是否退出程序
我的答案:
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('請(qǐng)輸入值,z畫(huà)正方形,s畫(huà)三角形,其它任意鍵退出程序:')
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、定義函數(shù)findall,實(shí)現(xiàn)對(duì)字符串find方法的進(jìn)一步封裝,要求返回符合要求的所有位置的起始下標(biāo),如字符串"helloworldhellopythonhelloc++hellojava",需要找出里面所有的"hello"的位置,最后將返回一個(gè)元組(0,10,21,29),即將h的下標(biāo)全部返回出來(lái),而find方法只能返回第一個(gè)——沒(méi)懂
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-","-"))
文章標(biāo)題:python函數(shù)試題的簡(jiǎn)單介紹
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/hccpie.html