pythonabc函數,python

20201014-python高級函數作業(yè)

1、定義一個使用不定長參數的函數,并在函數中打印出參數及其類型,統(tǒng)計傳入參數的個數

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供西安網站建設、西安做網站、西安網站設計、西安網站制作等企業(yè)網站建設、網頁設計與制作、西安企業(yè)網站模板建站服務,10年西安做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

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-","-"))

python如何用函數編程設計函數,實現用戶名和密碼的判斷

def?login(username,?password):

return?username?==?'abc'?and?password?==?'123'

python中a[3:7]是什么意思?

這個就是截取a數組的第4位~第7位

看下面例子就容易解釋了:

str1='abcdefghijklmnopqrstuvwxyz'

print(str1)

print(str1[3:7])

str1[3:7]? 輸出結果就是 defg

python的lambda函數是什么?

Python——Lambda表達式是一個匿名函數,Lambda 表達式基于數學中的lambda演算得名,直接對應于其中的 lambda 抽象,是一個匿名函數,即沒有函數名的函數。

Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 于1990 年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。

Python語法和動態(tài)類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發(fā)應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。

Python解釋器易于擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python 也可用于可定制化軟件中的擴展程序語言。Python豐富的標準庫,提供了適用于各個主要系統(tǒng)平臺的源碼或機器碼。

擴展資料:

python的發(fā)展歷程:

自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用于系統(tǒng)管理任務的處理和Web編程。

Python的創(chuàng)始人為荷蘭人吉多·范羅蘇姆。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python(作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提·派森的飛行馬戲團》。

ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC這種語言非常優(yōu)美和強大,是專門為非專業(yè)程序員設計的。但是ABC語言并沒有成功,究其原因,Guido認為是其非開放造成的。Guido決心在Python中避免這一錯誤。同時,他還想實現在ABC中閃現過但未曾實現的東西。

就這樣,Python在Guido手中誕生了。可以說,Python是從ABC發(fā)展起來,主要受到了Modula-3(另一種相當優(yōu)美且強大的語言,為小型團體所設計的)的影響。并且結合了Unix shell和C的習慣。

python關于for循環(huán)的幾個函數

for ... in ...

//?for?...?in?字符串

for?i?in?'abc':

print(i)

'''

a

b

c

'''

//?for?...?in?數組

for?i?in?['a',?'b',?'c']:

print(i)

'''

a

b

c

'''

//?for?...?in?元組

for?i?in?('a',?'b',?'c'):

print(i)

'''

a

b

c

'''

//?for?...?in?字典(得到的是字典的key)

for?k?in?{'學號':30,'姓名':'小明'}:

print(k)

'''

姓名

學號

'''

//?for?...?in?字典.items()(得到的是字典的key,?value)

for?k,?v?in?{'學號':30,'姓名':'小明'}.items():

print(k,?v)

'''

姓名?小明

學號?30

'''

for ... in range(...)

//?for?...?in?range(num)

for?i?in?range(3):

print(i)

'''

1

2

'''

//?for?...?in?range(num1,?num2)

for?i?in?range(1,?3):

print(i)

'''

1

2

'''

//?for?...?in?range(num1,?num2,?num3)

for?i?in?range(3,?1,?-1):

print(i)

'''

3

2

'''

for?i?in?range(1,?5,?2):

print(i)

'''????????

1

3

'''

倒敘

for?i?in?reversed([1,2,3,4]):

print(i)

’‘’

4

3

2

1

‘’‘

又想得到遍歷次數,又想得到數組值

for i,e in enumerate(array):

for?i,e?in?enumerate(['21dw',?55,?22,?'rw']):

print(i,?e)

'''

0?21dw

1?55

2?22

3?rw

'''

列表生成式

[...for ... in array]]

print([x?*?x?for?x?in?[2,?34,?324,?43]])

'''

[4,?1156,?104976,?1849]

'''

//相當于

list?=?[]

for?x?in?[2,?34,?324,?43]:

list.append(x?*?x)

print(list)

Python中怎么用字符串來命名一個函數?

有2個標準庫函數可以完成你說的要求,建議用eval()

eval() 和exec()

區(qū)別是eval()有返回值

def?test1():

print?"Test1?Excuted!"

return?True

ret?=?eval?("test1()")

print?ret

結果如下

Test1?Excuted!

True

而exec()只執(zhí)行,并無返回值。

def?test2():

print?"Test2?Excuted!"

return?True

exec("test2()")

結果如下

Test2?Excuted!

如果要將exec()賦值,會有以下語法錯誤!

ret?=?exec("test2()")

標題名稱:pythonabc函數,python
網站地址:http://muchs.cn/article4/hssooe.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供電子商務企業(yè)網站制作、虛擬主機、外貿建站網站營銷、自適應網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)