python3每日十題(四)

2021-08-30 04:44:55 字數 1993 閱讀 2766

'''1、輸入乙個正整數,輸出該正整數的階乘的值'''

#思路:用遞迴實現,也可以用reduce或者遍歷

def prime(n):

if n<=1:

return 1

else:

return n*prime(n-1)

input_num = int(input('輸入乙個正整數:'))

print("%d的階乘為:%d"%(input_num,prime(input_num)))

'''2、生成字串」acegi」'''

s = ''

for i in range(0,9,2):

s +=chr(ord('a')+i)

print(s)

'''3、生成列表[「a」,」c」,」e」,」g」,」i」]'''

print([chr(ord('a')+i) for i in range(0,9,2)])

'''4、生成字典'''

d =

print(d)

'''5、將以上字典的key和value拼接成字串,不能使用字串連線符(+)'''

new_list =

for k,v in d.items():

print(''.join(new_list))

'''6、寫乙個函式,引數傳入字串」abc」,函式返回字串「xyz」'''

def change_str(s):

if not isinstance(s,str):

return none

new_str=''

for word in s:

new_str += chr(ord(word)+23)

return new_str

print(change_str('abc'))

'''7、寫乙個函式,如果傳入的是list,且list長度大於3,只保留前3個元素並返回;'''

def get_list_frist_3_numbers(s):

if not isinstance(s,list):

return none

if len(s)<3:

return none

return s[:3]

print(get_list_frist_3_numbers('abc'))

print(get_list_frist_3_numbers([1,12]))

print(get_list_frist_3_numbers([1,2,3,4]))

'''8、使用者輸入」abc123」,程式返回」a321cb」'''

input_data=input('input a sentences:')

print( input_data[0]+input_data[-1:0:-1])

'''9、將[「wulaoshi」,」is」,」a」,」boy」]替換成[「wulaoshi」,」is」,」good」,」big」」boy」] '''

sentences = ["wulaoshi","is","a","boy"]

for i in range(len(sentences)):

if sentences[i] == 'a':

sentences[i:i+1]=['good','big']

break

print(sentences)

'''10、統計「you are ,a beautifull girl,666! 」中數字和字母的總個數;'''

s = "you are ,a beautifull girl,666! "

#方法一:遍歷

result = 0

for i in s:

if i.isalnum():

result +=1

print(result)

#方法二:filter+lambda

print(len(list(filter(lambda x:x.isalnum(),s))))

python3每日十題(六)

1 ksljj kkk122 sfsf kjk 12abd kk xyz 以字串中所有相鄰的字母整體為列表元素,生成乙個列表 s ksljj kkk122 sfsf kjk 12abd kk xyz 方法一 正則 import re print re.findall r a za z s 方法二 將...

LeetCode每日十題 陣列(四)

這次 只通過了一半多的用例,不是因為有bug,而是思路錯了,這裡是不能用二分法的,因為整個序列不滿足單調性。雖然在初始排序的時候控制了負數和正數的區別,但在while迴圈裡還是用了二分法。當然可以不用二分法,既然都寫到這了,直接比較就行,可是這樣複雜度就高了,也意味著這種方法行不通。看了解答,用的是...

leetCode每日十題 棧(難度 困難)

因為寫的十棧裡面的題目,所以剛開始在想用棧來寫的時候,是真的一點思路沒有。琢磨著各種可以取到高分的情況,發現那是一環扣著一環,每次決定都受之後分數序列的影響,既然如此,便想到用遞迴來寫 呸,看題解的 說實話,遞迴這東西是真的巧妙啊,你不用去討論如何才能取最大,你只需要告訴計算機,我就是要去最大,然後...