真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python函數(shù)課后題 python基礎(chǔ)教程課后題答案

求一份魚(yú)C工作室,python 課后測(cè)試題及答案??!

1,使用getopt。getopt()優(yōu)化當(dāng)前的功能函數(shù):

寶山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

[html]

#!/usr/bin/python

# -*- coding: utf-8 -*-

#coding=utf-8

import os,sys

import getopt

print sys.argv

CDROW='/home/zhouqian/test'

def cdWalker(CDROW,cdfile):

result=[]

for root,dirs,files in os.walk(CDROW):

result.append("%s %s %s" %(root,dirs,files))

print root

open(cdfile,'w').write('\n'.join(result))

def usage():

print '''pycdc 使用方式:

python cdays-3-exercise-1.py -d cdc -k 中國(guó)火

#檢索cdc中有沒(méi)有中國(guó)火字樣的目錄,

'''

try:

opts,args=getopt.getopt(sys.argv[1:],'hd:e:k:')

except getopt.GetoptError:

usage()

sys.exit()

if len(opts)==0:

usage()

sys.exit()

c_path=''

name=''

for opt,arg in opts:

if opt in('-h','--help'):

usage()

sys.exit()

elif opt=='-e':

if os.path.exists(arg):#判斷目標(biāo)路徑是否存在

# cdWalker(CDROW,arg)

print "記錄光盤(pán)的位置是 %s" %arg

else:

print "不存在這樣的目錄"

elif opt=='-d':

c_path=arg

print c_path

cdWalker(CDROW,c_path)

elif opt=='-k':

if not c_path:

usage()

sys.exit()

else:

name=arg

for root,dirs,files in os.walk(c_path):

if root=='%s' %name:

print '您要找的文件在%s' %dirs

這是第一個(gè)題,大概做了2個(gè)小時(shí)吧,各種糾結(jié)啊,后面兩個(gè)正在做。中間遇到的問(wèn)題總結(jié):

函式的利用,os.path.walk,python字符集,getopt模塊的使用學(xué)習(xí),os.path.exists()的利用,列表的對(duì)應(yīng)關(guān)系等等

習(xí)題2 :關(guān)鍵詞-----》序列號(hào)問(wèn)題:

[html]

#!/usr/bin/python

#coding=utf-8

import sys

def collect(file):

result={}

for line in file.readlines():

left,right=line.split()

if result.has_key(right):

result[right].append(left)

else:

result[right]=[left]

return result

if __name__=="__main__":

print sys.argv

if len(sys.argv)==1:

print 'usage:\tpython value_keys.py test.txt'

else:

result=collect(open(sys.argv[1],'r'))

for (right,left) in result.items():

print "%d %s = %s" %(len(left),right,left)

結(jié)果顯示:

[html]

root@zhou:/home/zhouqian/python# py value_keys.py test.txt

ssss

2 key3 = ['6', '33']

3 key2 = ['1', '2', '45']

3 key1 = ['4', '5', '13']

遇到的問(wèn)題總結(jié):

split的用法:line.split()就是分開(kāi)出左右兩邊的值,在默認(rèn)的情況下是以一個(gè)空格或者多個(gè)空格為分割符的,

has_key()的用法:是查看字典數(shù)據(jù)類(lèi)型中有沒(méi)有這么一個(gè)關(guān)鍵字。上面可知result={}是初始化了一個(gè)字典的數(shù)據(jù)類(lèi)型。

字典的一些用法:怎么定義,怎么賦值:result[right]=[left]或者result[right]=left,遍歷字典中所用

項(xiàng),result.items(),遍歷字典的key值:result.keys(),遍歷字典的value值:result.values()

[html]

dict={'chen':25,'zhou':24,'xiao':35}

dict.values()

[25, 35, 24]

dict.keys()

['chen', 'xiao', 'zhou']

dict.items()

[('chen', 25), ('xiao', 35), ('zhou', 24)]

python-027-遞歸-求序列最大值、計(jì)算第n個(gè)調(diào)和數(shù)、轉(zhuǎn)換字符到整數(shù)

遞歸,emmmmmmm,擁有一種魅力,接近人的立即思維,容易理解,又不容易理解。

遞歸算法的優(yōu)點(diǎn): 它使我們能夠簡(jiǎn)潔地利用重復(fù)結(jié)構(gòu)呈現(xiàn)諸多問(wèn)題。通過(guò)使算法描述以遞歸的方式利用重復(fù)結(jié)構(gòu),我們經(jīng)常可以避開(kāi)復(fù)雜的案例分析和嵌套循環(huán)。這種算法會(huì)得出可讀性更強(qiáng)的算法描述,而且十分有效。

但是 ,遞歸的使用要根據(jù)相應(yīng)的成本來(lái)看,每次遞歸python解釋器都會(huì)給一個(gè)空間來(lái)記錄函數(shù)活動(dòng)狀態(tài)。但是有時(shí)候內(nèi)存成本很高,有時(shí)候?qū)⑦f歸算法轉(zhuǎn)為非遞歸算法是一種好辦法。

當(dāng)然我們可以換解釋器、使用堆棧數(shù)據(jù)結(jié)構(gòu)等方法,來(lái)管理遞歸的自身嵌套,減小儲(chǔ)存的活動(dòng)信息,來(lái)減小內(nèi)存消耗。

最近算法學(xué)到了遞歸這一塊,寫(xiě)了三個(gè)課后習(xí)題:

給一個(gè)序列S,其中包含n個(gè)元素,用遞歸查找其最大值。

輸出:

調(diào)和數(shù):Hn = 1 + 1/2 + 1/3 + ··· + 1/n

輸出:

例如:"12345"class 'str' 轉(zhuǎn)換為12345class 'int'

輸出:

遞歸分為線性遞歸、二路遞歸、多路遞歸。

Python作業(yè)題求解

Print = input("請(qǐng)輸入需要強(qiáng)調(diào)的話:")

Print = Print + "!"

number = int(input("請(qǐng)輸入要重復(fù)的次數(shù):"))

print(Print * number)

Python函數(shù)代碼分析題?

1、

10

10

2、

不是

3、

10

10

10

4、

在x=0的前面加上global x就行了,像:

def f():

global x

x=0

print(x)

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)以?xú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以?xú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-","-"))


分享題目:python函數(shù)課后題 python基礎(chǔ)教程課后題答案
分享網(wǎng)址:http://weahome.cn/article/hgseis.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部