自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

32個(gè)常用 Python 實(shí)現(xiàn)

開發(fā) 后端
今天我們來看看32個(gè)常用的 Python 實(shí)現(xiàn)。

[[282828]]

 1、冒泡排序

 

  1. lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58] 
  2.  
  3. def sortport(): 
  4.     for i in range(len(lis)-1): 
  5.         for j in range(len(lis)-1-i): 
  6.             if lis[j]>lis[j+1]: 
  7.                 lis[j],lis[j+1] = lis[j+1],lis[j] 
  8.     return lis 
  9. if __name__ == '__main__'
  10.     sortport() 
  11.     print(lis) 

2、計(jì)算x的n次方

 

  1. def power(x, n): 
  2.     s = 1 
  3.     while n > 0: 
  4.         n = n - 1 
  5.         s = s * x 
  6.     return s 

調(diào)用方法:

 

  1. print(power(2,4)) 

3、計(jì)算a*a + b*b + c*c + …

 

  1. def calc(*numbers): 
  2.     sum=0 
  3.     for n in numbers: 
  4.         sum=sum+n*n 
  5.     return sum 
  6. print(calc(2,4,5)) 

4、計(jì)算階乘 n!

 

  1. #方法一 
  2. def fac(): 
  3.     num = int(input("請(qǐng)輸入一個(gè)數(shù)字:")) 
  4.     factorial = 1 
  5.     #查看數(shù)字是負(fù)數(shù),0或者正數(shù) 
  6.     if num<0: 
  7.         print("抱歉,負(fù)數(shù)沒有階乘"
  8.     elif num == 0: 
  9.         print("0的階乘為1"
  10.     else
  11.         for i in range(1,num+1): 
  12.             factorial = factorial*i 
  13.         print("%d的階乘為%d"%(num,factorial)) 
  14. if __name__ == '__main__'
  15.     fac() 
  16.      
  17.  
  18. #方法二 
  19. def fac(): 
  20.     num = int(input("請(qǐng)輸入一個(gè)數(shù)字:")) 
  21.     #查看數(shù)字是負(fù)數(shù),0或者正數(shù) 
  22.     if num<0: 
  23.         print("抱歉,負(fù)數(shù)沒有階乘"
  24.     elif num == 0: 
  25.         print("0的階乘為1"
  26.     else
  27.         print("%d的階乘為%d"%(num,factorial(num))) 
  28. def factorial(n): 
  29.     result = n 
  30.     for i in range(1,n): 
  31.         result=result*i 
  32.     return result 
  33.  
  34. if __name__ == '__main__'
  35.     fac() 
  36.  
  37.  
  38. #方法三 
  39. def fac(): 
  40.     num = int(input("請(qǐng)輸入一個(gè)數(shù)字:")) 
  41.     #查看數(shù)字是負(fù)數(shù),0或者正數(shù) 
  42.     if num<0: 
  43.         print("抱歉,負(fù)數(shù)沒有階乘"
  44.     elif num == 0: 
  45.         print("0的階乘為1"
  46.     else
  47.         print("%d的階乘為%d"%(num,fact(num))) 
  48.  
  49. def fact(n): 
  50.     if n == 1: 
  51.         return 1 
  52.     return n * fact(n - 1) 
  53.  
  54. if __name__ == '__main__'
  55.     fac() 

5、列出當(dāng)前目錄下的所有文件和目錄名

 

  1. import os 
  2.  
  3. for d in os.listdir('.'): 
  4.     print(d) 

另外列表推導(dǎo)式代碼:

 

  1. [d for d in os.listdir('.')] 

6、把一個(gè)list中所有的字符串變成小寫:

 

  1. L = ['Hello','World','IBM','Apple'
  2.  
  3. for s in L: 
  4.     s=s.lower() 
  5.     print(s)     #將list中每個(gè)字符串都變成小寫,返回每個(gè)字符串 

另外列表推導(dǎo)式代碼:

 

  1. L = ['Hello','World','IBM','Apple'
  2. print([s.lower() for s in L])#整個(gè)list所有字符串都變成小寫,返回一個(gè)list 

7、輸出某個(gè)路徑下的所有文件和文件夾的路徑

 

  1. def print_dir(): 
  2.   filepath = input("請(qǐng)輸入一個(gè)路徑:"
  3.   if filepath == ""
  4.     print("請(qǐng)輸入正確的路徑"
  5.   else
  6.     for i in os.listdir(filepath):       #獲取目錄中的文件及子目錄列表 
  7.       print(os.path.join(filepath,i))  #把路徑組合起來 
  8.  
  9. print(print_dir()) 

8、輸出某個(gè)路徑及其子目錄下的所有文件路徑

 

  1. def show_dir(filepath): 
  2.   for i in os.listdir(filepath): 
  3.     path = (os.path.join(filepath, i)) 
  4.     print(path) 
  5.     if os.path.isdir(path):      #isdir()判斷是否是目錄 
  6.       show_dir(path)             #如果是目錄,使用遞歸方法 
  7.  
  8. filepath = "C:Program FilesInternet Explorer" 
  9. show_dir(filepath) 

9、輸出某個(gè)路徑及其子目錄下所有以.html為后綴的文件

 

  1. def print_dir(filepath): 
  2.   for i in os.listdir(filepath): 
  3.     path = os.path.join(filepath, i) 
  4.     if os.path.isdir(path): 
  5.       print_dir(path) 
  6.     if path.endswith(".html"): 
  7.       print(path) 
  8.  
  9. filepath = "E:PycharmProjects" 
  10. print_dir(filepath) 

10、把原字典的鍵值對(duì)顛倒并生產(chǎn)新的字典

 

  1. dict1 = {"A":"a","B":"b","C":"c"
  2. dict2 = {y:x for x,y in dict1.items()} 
  3. print(dict2) 
  4. #輸出結(jié)果為{'a''A''b''B''c''C'

11、打印九九乘法表

 

  1. for i in range(1,10): 
  2.     for j in range(1,i+1): 
  3.         print('%d x %d = %d     '%(j,i,i*j),end='')   #通過指定end參數(shù)的值,可以取消在末尾輸出回車符,實(shí)現(xiàn)不換行。 
  4.     print() 

12、替換列表中所有的3為3a

 

  1. num = ["harden","lampard",3,34,45,56,76,87,78,45,3,3,3,87686,98,76] 
  2. print(num.count(3)) 
  3. print(num.index(3)) 
  4. for i in range(num.count(3)):      #獲取3出現(xiàn)的次數(shù) 
  5.     ele_index = num.index(3)        #獲取首次3出現(xiàn)的坐標(biāo) 
  6.     num[ele_index]="3a"            #修改3為3a 
  7. print(num) 

13、打印每個(gè)名字

 

  1. L = ["James","Meng","Xin"
  2. for i in range(len(L)): 
  3.     print("Hello,%s"%L[i]) 

14、合并去重

  1. list1 = [2,3,8,4,9,5,6] 
  2. list2 = [5,6,10,17,11,2] 
  3. list3 = list1 + list2 
  4. print(list3)              #不去重只進(jìn)行兩個(gè)列表的組合 
  5. print(set(list3))         #去重,類型為set需要轉(zhuǎn)換成list 
  6. print(list(set(list3))) 

15、隨機(jī)生成驗(yàn)證碼的兩種方式(數(shù)字字母)

 

  1. import random 
  2. list1=[] 
  3. for i in range(65,91): 
  4.     list1.append(chr(i))        #通過for循環(huán)遍歷asii追加到空列表中 
  5. for j in range (97,123): 
  6.     list1.append(chr(j)) 
  7. for k in range(48,58): 
  8.     list1.append(chr(k)) 
  9. ma = random.sample(list1,6) 
  10. print(ma)                      #獲取到的為列表 
  11. ma = ''.join(ma)              #將列表轉(zhuǎn)化為字符串 
  12. print(ma) 

 

  1. import random,string 
  2. str1 = "0123456789" 
  3. str2 = string.ascii_letters     # string.ascii_letters 包含所有字母(大寫或小寫)的字符串 
  4. str3 = str1+str2 
  5. ma1 = random.sample(str3,6)     #多個(gè)字符中選取特定數(shù)量的字符 
  6. ma1 = ''.join(ma1)              #使用join拼接轉(zhuǎn)換為字符串 
  7. print(ma1)                      #通過引入string模塊和random模塊使用現(xiàn)有的方法 

16、隨機(jī)數(shù)字小游戲

 

  1. #隨機(jī)數(shù)字小游戲 
  2. import random 
  3. i = 1 
  4. a = random.randint(0,100) 
  5. b = int( input('請(qǐng)輸入0-100中的一個(gè)數(shù)字 
  6. 然后查看是否與電腦一樣:')) 
  7. while a != b: 
  8.     if a > b: 
  9.         print('你第%d輸入的數(shù)字小于電腦隨機(jī)數(shù)字'%i) 
  10.         b = int(input('請(qǐng)?jiān)俅屋斎霐?shù)字:')) 
  11.     else
  12.         print('你第%d輸入的數(shù)字大于電腦隨機(jī)數(shù)字'%i) 
  13.         b = int(input('請(qǐng)?jiān)俅屋斎霐?shù)字:')) 
  14.     i+=1 
  15. else
  16.     print('恭喜你,你第%d次輸入的數(shù)字與電腦的隨機(jī)數(shù)字%d一樣'%(i,b)) 

17、計(jì)算平方根

 

  1. num = float(input('請(qǐng)輸入一個(gè)數(shù)字:')) 
  2. num_sqrt = num ** 0.5 
  3. print('%0.2f 的平方根為%0.2f'%(num,num_sqrt)) 

18、判斷字符串是否只由數(shù)字組成

 

  1. #方法一 
  2. def is_number(s): 
  3.     try: 
  4.         float(s) 
  5.         return  True 
  6.     except ValueError: 
  7.         pass 
  8.     try: 
  9.         import unicodedata 
  10.         unicodedata.numeric(s) 
  11.         return  True 
  12.     except(TypeError,ValueError): 
  13.         pass 
  14.     return False 
  15. t="a12d3" 
  16. print(is_number(t)) 
  17.  
  18.  
  19. #方法二 
  20. t = "q123" 
  21. print(t.isdigit())   #檢測(cè)字符串是否只由數(shù)字組成 
  22.   
  23.  
  24. #方法三 
  25. t = "123" 
  26. print(t.isnumeric())   #檢測(cè)字符串是否只由數(shù)字組成,這種方法是只針對(duì)unicode對(duì)象 

19、判斷奇偶數(shù)

 

  1. #方法一 
  2. num = int(input('請(qǐng)輸入一個(gè)數(shù)字:')) 
  3. if (num % 2) == 0: 
  4.     print("{0}是偶數(shù)".format(num)) 
  5. else
  6.     print("{0}是奇數(shù)".format(num)) 
  7.    
  8.  
  9. #方法二 
  10. while True
  11.     try: 
  12.         num = int(input('請(qǐng)輸入一個(gè)整數(shù):'))      #判斷輸入是否為整數(shù),不是純數(shù)字需要重新輸入 
  13.     except ValueError: 
  14.         print("輸入的不是整數(shù)!"
  15.         continue 
  16.     if (num % 2) == 0: 
  17.         print("{0}是偶數(shù)".format(num)) 
  18.     else
  19.         print("{0}是奇數(shù)".format(num)) 
  20.     break 

20、判斷閏年

 

  1. #方法一 
  2. year = int(input("請(qǐng)輸入一個(gè)年份:")) 
  3. if (year % 4) == 0: 
  4.     if (year % 100) == 0: 
  5.         if(year % 400) ==0: 
  6.             print("{0}是閏年".format(year))       #整百年能被400整除的是閏年 
  7.         else
  8.             print("{0}不是閏年".format(year)) 
  9.     else
  10.         print("{0}是閏年".format(year))           #非整百年能被4整除的為閏年 
  11. else
  12.     print("{0}不是閏年".format(year)) 
  13.    
  14.  
  15. #方法二 
  16. year = int(input("請(qǐng)輸入一個(gè)年份:")) 
  17. if (year % 4) == 0 and (year % 100)!=0 or (year % 400) == 0: 
  18.     print("{0}是閏年".format(year)) 
  19. else
  20.     print("{0}不是閏年".format(year)) 
  21.    
  22.  
  23. #方法三 
  24. import calendar 
  25. year = int(input("請(qǐng)輸入年份:")) 
  26. check_year=calendar.isleap(year
  27. if check_year == True
  28.     print("%d是閏年"%year
  29. else
  30.     print("%d是平年"%year

21、獲取最大值

 

  1. N = int(input('輸入需要對(duì)比大小的數(shù)字的個(gè)數(shù):')) 
  2. print("請(qǐng)輸入需要對(duì)比的數(shù)字:"
  3. num = [] 
  4. for i in range(1,N+1): 
  5.     temp = int(input('請(qǐng)輸入第%d個(gè)數(shù)字:'%i)) 
  6.     num.append(temp
  7. print('您輸入的數(shù)字為:',num) 
  8. print('最大值為:',max(num)) 
  9.    
  10.  
  11. N = int(input('輸入需要對(duì)比大小的數(shù)字的個(gè)數(shù): 
  12. ')) 
  13. num = [int(input('請(qǐng)輸入第%d個(gè)數(shù)字: 
  14. '%i))for i in range(1,N+1)] 
  15. print('您輸入的數(shù)字為:',num) 
  16. print('最大值為:',max(num)) 

22、斐波那契數(shù)列

斐波那契數(shù)列指的是這樣一個(gè)數(shù)列 0, 1, 1, 2, 3, 5, 8, 13;特別指出:第0項(xiàng)是0,第1項(xiàng)是第一個(gè)1。從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。

 

  1. # 判斷輸入的值是否合法 
  2. if nterms <= 0: 
  3.   print("請(qǐng)輸入一個(gè)正整數(shù)。"
  4. elif nterms == 1: 
  5.   print("斐波那契數(shù)列:"
  6.   print(n1) 
  7. else
  8.   print("斐波那契數(shù)列:"
  9.   print(n1, ",", n2, end=" , "
  10.   while count < nterms: 
  11.     nth = n1 + n2 
  12.     print(n1+n2, end=" , "
  13.     # 更新值 
  14.     n1 = n2 
  15.     n2 = nth 
  16.     count += 1 

23、十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制

 

  1. # 獲取輸入十進(jìn)制數(shù) 
  2. dec = int(input("輸入數(shù)字:")) 
  3.  
  4. print("十進(jìn)制數(shù)為:"dec
  5. print("轉(zhuǎn)換為二進(jìn)制為:", bin(dec)) 
  6. print("轉(zhuǎn)換為八進(jìn)制為:", oct(dec)) 
  7. print("轉(zhuǎn)換為十六進(jìn)制為:", hex(dec)) 

24、最大公約數(shù)

 

  1. def hcf(x, y): 
  2.   """該函數(shù)返回兩個(gè)數(shù)的最大公約數(shù)""" 
  3.  
  4.   # 獲取最小值 
  5.   if x > y: 
  6.     smaller = y 
  7.   else
  8.     smaller = x 
  9.  
  10.   for i in range(1, smaller + 1): 
  11.     if ((x % i == 0) and (y % i == 0)): 
  12.       hcf = i 
  13.  
  14.   return hcf 
  15.  
  16. # 用戶輸入兩個(gè)數(shù)字 
  17. num1 = int(input("輸入第一個(gè)數(shù)字: ")) 
  18. num2 = int(input("輸入第二個(gè)數(shù)字: ")) 
  19.  
  20. print(num1, "和", num2, "的最大公約數(shù)為", hcf(num1, num2)) 

25、最小公倍數(shù)

 

  1. # 定義函數(shù) 
  2. def lcm(x, y): 
  3.  
  4.    #  獲取最大的數(shù) 
  5.    if x > y: 
  6.        greater = x 
  7.    else
  8.        greater = y 
  9.  
  10.    while(True): 
  11.        if((greater % x == 0) and (greater % y == 0)): 
  12.            lcm = greater 
  13.            break 
  14.        greater += 1 
  15.  
  16.    return lcm 
  17.  
  18. # 獲取用戶輸入 
  19. num1 = int(input("輸入第一個(gè)數(shù)字: ")) 
  20. num2 = int(input("輸入第二個(gè)數(shù)字: ")) 
  21.  
  22. print( num1,"和", num2,"的最小公倍數(shù)為", lcm(num1, num2)) 

26、簡(jiǎn)單計(jì)算器

 

  1. # 定義函數(shù) 
  2. def add(x, y): 
  3.     """相加""" 
  4.     return x + y 
  5.  
  6. def subtract(x, y): 
  7.     """相減""" 
  8.     return x - y 
  9.  
  10. def multiply(x, y): 
  11.     """相乘""" 
  12.     return x * y 
  13.  
  14. def divide(x, y): 
  15.     """相除""" 
  16.     return x / y 
  17.  
  18. # 用戶輸入 
  19. print("選擇運(yùn)算:"
  20. print("1、相加"
  21. print("2、相減"
  22. print("3、相乘"
  23. print("4、相除"
  24.  
  25. choice = input("輸入你的選擇(1/2/3/4):"
  26.  
  27. num1 = int(input("輸入第一個(gè)數(shù)字: ")) 
  28. num2 = int(input("輸入第二個(gè)數(shù)字: ")) 
  29.  
  30. if choice == '1'
  31.     print(num1, "+", num2, "="add(num1, num2)) 
  32.  
  33. elif choice == '2'
  34.     print(num1, "-", num2, "=", subtract(num1, num2)) 
  35.  
  36. elif choice == '3'
  37.     print(num1, "*", num2, "=", multiply(num1, num2)) 
  38.  
  39. elif choice == '4'
  40.     if num2 != 0: 
  41.         print(num1, "/", num2, "=", divide(num1, num2)) 
  42.     else
  43.         print("分母不能為0"
  44. else
  45.     print("非法輸入"

27、生成日歷

 

  1. # 引入日歷模塊 
  2. import calendar 
  3.  
  4. # 輸入指定年月 
  5. yy = int(input("輸入年份: ")) 
  6. mm = int(input("輸入月份: ")) 
  7.  
  8. # 顯示日歷 
  9. print(calendar.month(yy, mm)) 

28、文件IO

 

  1. # 寫文件 
  2. with open("test.txt""wt"as out_file: 
  3.     out_file.write("該文本會(huì)寫入到文件中 
  4. 看到我了吧!") 
  5.  
  6. Read a file 
  7. with open("test.txt""rt"as in_file: 
  8.     text = in_file.read() 
  9.  
  10. print(text) 

29、字符串判斷

 

  1. # 測(cè)試實(shí)例一 
  2. print("測(cè)試實(shí)例一"
  3. str = "runoob.com" 
  4. print(str.isalnum()) # 判斷所有字符都是數(shù)字或者字母 
  5. print(str.isalpha()) # 判斷所有字符都是字母 
  6. print(str.isdigit()) # 判斷所有字符都是數(shù)字 
  7. print(str.islower()) # 判斷所有字符都是小寫 
  8. print(str.isupper()) # 判斷所有字符都是大寫 
  9. print(str.istitle()) # 判斷所有單詞都是首字母大寫,像標(biāo)題 
  10. print(str.isspace()) # 判斷所有字符都是空白字符、    、 
  11. 、 
  12.  
  13. print("------------------------"
  14.  
  15. # 測(cè)試實(shí)例二 
  16. print("測(cè)試實(shí)例二"
  17. str = "Bake corN" 
  18. print(str.isalnum()) 
  19. print(str.isalpha()) 
  20. print(str.isdigit()) 
  21. print(str.islower()) 
  22. print(str.isupper()) 
  23. print(str.istitle()) 
  24. print(str.isspace()) 

30、字符串大小寫轉(zhuǎn)換

 

  1. str = "https://www.cnblogs.com/ailiailan/" 
  2. print(str.upper())          # 把所有字符中的小寫字母轉(zhuǎn)換成大寫字母 
  3. print(str.lower())          # 把所有字符中的大寫字母轉(zhuǎn)換成小寫字母 
  4. print(str.capitalize())     # 把第一個(gè)字母轉(zhuǎn)化為大寫字母,其余小寫 
  5. print(str.title())          # 把每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化為大寫,其余小寫 

31、計(jì)算每個(gè)月天數(shù)

 

  1. import calendar 
  2. monthRange = calendar.monthrange(2016,9) 
  3. print(monthRange) 

32、獲取昨天的日期

 

  1. # 引入 datetime 模塊 
  2. import datetime 
  3. def getYesterday():  
  4.     today=datetime.date.today() 
  5.     oneday=datetime.timedelta(days=1) 
  6.     yesterday=today-oneday   
  7.     return yesterday 
  8.  
  9. # 輸出 
  10. print(getYesterday()) 

 

責(zé)任編輯:華軒 來源: Python知識(shí)圈
相關(guān)推薦

2024-10-14 16:37:25

2022-08-27 15:03:43

Python損失函數(shù)算法

2023-01-17 15:31:40

Python數(shù)據(jù)集數(shù)組

2022-08-19 16:09:08

Python損失函數(shù)算法

2023-02-14 09:00:41

2020-03-31 14:00:29

Python 開發(fā)工具

2024-12-09 13:18:56

2024-06-26 13:11:40

2024-05-28 00:00:10

Python模塊開發(fā)

2022-03-26 19:25:40

Python包Python開發(fā)

2025-04-03 10:00:00

數(shù)據(jù)分析Pandas數(shù)據(jù)合并

2021-03-16 10:12:24

python內(nèi)置函數(shù)

2022-08-25 17:47:21

PythonExcel

2020-07-13 15:10:47

Python代碼字符串

2020-09-04 06:32:20

Pythonshutil函數(shù)

2024-01-24 13:14:00

Python內(nèi)置函數(shù)工具

2020-05-13 13:55:16

MatplotlibPython代碼

2024-06-21 10:46:44

2011-05-23 16:50:12

python

2020-05-22 11:20:56

Linux命令文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)