python基礎練習題集錦

2021-10-03 16:34:30 字數 4692 閱讀 9948

#1、一行**實現1--100之和

sumnum1=

sum(

range(1

,101))

print

(sumnum1)

sumnum=

0for i in

range(1

,101):

sumnum=sumnum+i

i=i+

1print

(sumnum)

#2.如何在乙個函式內部修改全域性變數a=5

print

(a)deffn(

):global a

a=1fn(

)print

(a)

#3、字典如何刪除鍵和合併兩個字典

dict1=

print

(dict1)

del dict1[

"a"]

print

(dict1)

dict2=

dict1.update(dict2)

print

(dict1)

#4.python實現列表去重的方法 先通過集合去重,在轉列表

list=[

1,2,

3,1,

2,5]

a=set

(list

)print

(a)print

([x for x in a]

)

#5.列表[1,2,3,4,5],請使用map()函式輸出[1,4,9,16,25],

# 並使用列表推導式提取出大於10的數,最終輸出[16,25]

#map() 會根據提供的函式對指定序列做對映。

#第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,

# 返回包含每次 function 函式返回值的新列表。

#list=[

1,2,

3,4,

5]deffn

(x):

return x**

2res=

map(fn,

list

)res=

[i for i in res if i>10]

print

(res)

#6.python中生成隨機整數、隨機小數、0--1之間小數方法

import random

a=random.randint(1,

10)print

(a)b=random.random(

)#0--1之間小數方法

print

(b)str

=random.sample(

'abcd',4

)print

(str

)

#7.用正則匹配出標籤裡面的內容(「中國」),其中class的類名是不確定的

import re

str=

'中國'

res=re.findall(r'(.*?)',

str)

print

(res)

#8.s = "ajldjlajfdljfddd",去重並從小到大排序輸出"adfjl"

str=

"ajldjlajfdljfddd"

strnew=

set(

str)

print

(strnew)

strnew1=

[i for i in strnew]

print

(strnew1)

strnew1.sort(reverse=

false

)strnew2=

"".join(strnew1)

print

(strnew2)

#9.用lambda函式實現兩個數相乘

sum=

lambda a,b:a*b

print

(sum(4

,6))

#10.字典根據鍵從小到大排序

dict

=print

(dict

)list

=sorted

(dict

.items(

),key=

lambda i:i[0]

,reverse=

false

)print

(list

)new_dict=

for i in

list

: new_dict[i[0]

]=i[1]

print

(new_dict)

#11.利用collections庫的counter方法統計字串每個單詞出現的次

from collections import counter

str=

"aaab;bb;c'c'cddddeddedff"

res=counter(

str)

print

(res)

#12.用正則過濾掉英文和數字,最終輸出中文

import re

str=

"not 404 found 張三 99 深圳"

print

(str

)list

=str

.split(

" ")

print

(list

)res=re.findall(

'\d+|[a-za-z]+'

,str

)print

(res)

for i in res:

if i in

list

:list

.remove(i)

new_str=

" ".join(

list

)print

(new_str)

#13.filter方法求出列表所有奇數並構造新列表,

# a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a =[1,

2,3,

4,5,

6,7,

8,9,

10]deffn

(x):

return x%2==

1newa=

filter

(fn,a)

newa=

[i for i in newa]

print

(newa)

print

(fn(5)

)

#14.兩個列表[1,5,7,9]和[2,2,3,6,8]合併為[1,2,2,3,5,6,7,8,9]

list1=[1

,5,7

,9]list2=[2

,2,3

,6,8

]list1.extend(list2)

print

(list1)

list1=

set(list1)

#去重print

(list1)

list1=

list

(list1)

list1.sort(reverse=

false

)print

(list1)

#15.[[1,2],[3,4],[5,6]]一行**展開該列表,得出[1,2,3,4,5,6]

lista=[[

1,2]

,[3,

4],[

5,6]

]listb=

[j for i in lista for j in i]

print

(listb)

#16.python中交換兩個數值

a,b=3,

5print

(a,b)

a,b=b,a

print

(a,b)

#17.list=[2,3,5,4,9,6],從小到大排序,不許用sort,

# 輸出[2,3,4,5,6,9]

list=[

2,3,

5,4,

9,6]

new_list=

#定義乙個空列表用來儲存取出的值

defget_min

(list):

a=min(

list

)#取出最小值

list

.remove(a)

#移除最小值

#新增到新列表裡

iflen

(list

)>0:

get_min(

list

)#遞迴呼叫 直到列表裡沒有值

return new_list

new_list=get_min(

list

)print

(new_list)

藍橋杯基礎練習題集

試題 基礎練習1 數列排序 問題描述 給定乙個長度為n的數列,將這個數列按從小到大的順序排列。1 n 200 輸入格式 第一行為乙個整數n。第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000.輸出格式 輸出一行,按從小到大的順序輸出排序後的數列 樣例輸入 58 3 6 4 9 樣例輸出...

python 基礎練習題

學了這麼多天的python,也做了一點簡單的練習題,不過這點還不夠,要多做多敲 同樣也要學著理解,只有這樣才能才會進步小結1,怎樣做才能輸出列印乙個九九乘法表?如下 for i in range 1 10,1 for j in range 1 10,1 if j i print f end t pr...

Python 基礎練習題

以下是我在學習python編寫的一些簡單的練習題,題目答案為本人編寫可能不完全正確只供參考 列印乙個如下的圖形 for i in range 2,3 for z in range 3 abs i print end for j in range 2 abs i 1 print end print 輸...