<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 771字,需瀏覽 2分鐘

           ·

          2020-11-30 13:51

          點(diǎn)擊上方“菜鳥學(xué)Python”,選“星標(biāo)”公眾號

          重磅干貨,第一時(shí)間送達(dá)



          1、冒泡排序

          lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58]

          def sortport():
          ? ?for i in range(len(lis)-1):
          ? ? ? ?for j in range(len(lis)-1-i):
          ? ? ? ? ? ?if lis[j]>lis[j+1]:
          ? ? ? ? ? ? ? ?lis[j],lis[j+1] = lis[j+1],lis[j]
          ? ?return lis
          if __name__ == '__main__':
          ? ?sortport()
          ? ?print(lis)

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

          def power(x, n):
          ? ?s = 1
          ? ?while n > 0:
          ? ? ? ?n = n - 1
          ? ? ? ?s = s * x
          ? ?return s

          調(diào)用方法:

          print(power(2,4))

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

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

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

          #方法一
          def fac():
          ? ?num = int(input("請輸入一個(gè)數(shù)字:"))
          ? ?factorial = 1
          ? ?#查看數(shù)字是負(fù)數(shù),0或者正數(shù)
          ? ?if num<0:
          ? ? ? ?print("抱歉,負(fù)數(shù)沒有階乘")
          ? ?elif num == 0:
          ? ? ? ?print("0的階乘為1")
          ? ?else:
          ? ? ? ?for i in range(1,num+1):
          ? ? ? ? ? ?factorial = factorial*i
          ? ? ? ?print("%d的階乘為%d"%(num,factorial))
          if __name__ == '__main__':
          ? ?fac()
              

          #方法二
          def fac():
          ? ?num = int(input("請輸入一個(gè)數(shù)字:"))
          ? ?#查看數(shù)字是負(fù)數(shù),0或者正數(shù)
          ? ?if num<0:
          ? ? ? ?print("抱歉,負(fù)數(shù)沒有階乘")
          ? ?elif num == 0:
          ? ? ? ?print("0的階乘為1")
          ? ?else:
          ? ? ? ?print("%d的階乘為%d"%(num,factorial(num)))
          def factorial(n):
          ? ?result = n
          ? ?for i in range(1,n):
          ? ? ? ?result=result*i
          ? ?return result

          if __name__ == '__main__':
          ? ?fac()


          #方法三
          def fac():
          ? ?num = int(input("請輸入一個(gè)數(shù)字:"))
          ? ?#查看數(shù)字是負(fù)數(shù),0或者正數(shù)
          ? ?if num<0:
          ? ? ? ?print("抱歉,負(fù)數(shù)沒有階乘")
          ? ?elif num == 0:
          ? ? ? ?print("0的階乘為1")
          ? ?else:
          ? ? ? ?print("%d的階乘為%d"%(num,fact(num)))

          def fact(n):
          ? ?if n == 1:
          ? ? ? ?return 1
          ? ?return n * fact(n - 1)

          if __name__ == '__main__':
          ? ?fac()

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

          import os

          for d in os.listdir('.'):
          ? ?print(d)

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

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

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


          L = ['Hello','World','IBM','Apple']

          for s in L:
          ? ?s=s.lower()
          ? ?print(s) ? ? #將list中每個(gè)字符串都變成小寫,返回每個(gè)字符串


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

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

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

          def print_dir():
          ?filepath = input("請輸入一個(gè)路徑:")
          ?if filepath == "":
          ? ?print("請輸入正確的路徑")
          ?else:
          ? ?for i in os.listdir(filepath): ? ? ? #獲取目錄中的文件及子目錄列表
          ? ? ?print(os.path.join(filepath,i)) ?#把路徑組合起來

          print(print_dir())

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

          def show_dir(filepath):
          ?for i in os.listdir(filepath):
          ? ?path = (os.path.join(filepath, i))
          ? ?print(path)
          ? ?if os.path.isdir(path): ? ? ?#isdir()判斷是否是目錄
          ? ? ?show_dir(path) ? ? ? ? ? ? #如果是目錄,使用遞歸方法

          filepath = "C:\Program Files\Internet Explorer"
          show_dir(filepath)

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

          def print_dir(filepath):
          ?for i in os.listdir(filepath):
          ? ?path = os.path.join(filepath, i)
          ? ?if os.path.isdir(path):
          ? ? ?print_dir(path)
          ? ?if path.endswith(".html"):
          ? ? ?print(path)

          filepath = "E:\PycharmProjects"
          print_dir(filepath)

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

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

          11、打印九九乘法表

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

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

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

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

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

          14、合并去重

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

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

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


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

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

          #隨機(jī)數(shù)字小游戲
          import random
          i = 1
          a = random.randint(0,100)
          b = int( input('請輸入0-100中的一個(gè)數(shù)字\n然后查看是否與電腦一樣:'))
          while a != b:
          ? ?if a > b:
          ? ? ? ?print('你第%d輸入的數(shù)字小于電腦隨機(jī)數(shù)字'%i)
          ? ? ? ?b = int(input('請?jiān)俅屋斎霐?shù)字:'))
          ? ?else:
          ? ? ? ?print('你第%d輸入的數(shù)字大于電腦隨機(jī)數(shù)字'%i)
          ? ? ? ?b = int(input('請?jiān)俅屋斎霐?shù)字:'))
          ? ?i+=1
          else:
          ? ?print('恭喜你,你第%d次輸入的數(shù)字與電腦的隨機(jī)數(shù)字%d一樣'%(i,b))

          17、計(jì)算平方

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

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

          #方法一
          def is_number(s):
          ? ?try:
          ? ? ? ?float(s)
          ? ? ? ?return ?True
          ? ?except ValueError:
          ? ? ? ?pass
          ? ?try:
          ? ? ? ?import unicodedata
          ? ? ? ?unicodedata.numeric(s)
          ? ? ? ?return ?True
          ? ?except(TypeError,ValueError):
          ? ? ? ?pass
          ? ?return False
          t="a12d3"
          print(is_number(t))


          #方法二
          t = "q123"
          print(t.isdigit()) ? #檢測字符串是否只由數(shù)字組成
           

          #方法三
          t = "123"
          print(t.isnumeric()) ? #檢測字符串是否只由數(shù)字組成,這種方法是只針對unicode對象

          19、判斷奇偶數(shù)

          #方法一
          num = int(input('請輸入一個(gè)數(shù)字:'))
          if (num % 2) == 0:
          ? ?print("{0}是偶數(shù)".format(num))
          else:
          ? ?print("{0}是奇數(shù)".format(num))
            

          #方法二
          while True:
          ? ?try:
          ? ? ? ?num = int(input('請輸入一個(gè)整數(shù):')) ? ? ?#判斷輸入是否為整數(shù),不是純數(shù)字需要重新輸入
          ? ?except ValueError:
          ? ? ? ?print("輸入的不是整數(shù)!")
          ? ? ? ?continue
          ? ?if (num % 2) == 0:
          ? ? ? ?print("{0}是偶數(shù)".format(num))
          ? ?else:
          ? ? ? ?print("{0}是奇數(shù)".format(num))
          ? ?break

          20、判斷閏年

          #方法一
          year = int(input("請輸入一個(gè)年份:"))
          if (year % 4) == 0:
          ? ?if (year % 100) == 0:
          ? ? ? ?if(year % 400) ==0:
          ? ? ? ? ? ?print("{0}是閏年".format(year)) ? ? ? #整百年能被400整除的是閏年
          ? ? ? ?else:
          ? ? ? ? ? ?print("{0}不是閏年".format(year))
          ? ?else:
          ? ? ? ?print("{0}是閏年".format(year)) ? ? ? ? ? #非整百年能被4整除的為閏年
          else:
          ? ?print("{0}不是閏年".format(year))
            

          #方法二
          year = int(input("請輸入一個(gè)年份:"))
          if (year % 4) == 0 and (year % 100)!=0 or (year % 400) == 0:
          ? ?print("{0}是閏年".format(year))
          else:
          ? ?print("{0}不是閏年".format(year))
            

          #方法三
          import calendar
          year = int(input("請輸入年份:"))
          check_year=calendar.isleap(year)
          if check_year == True:
          ? ?print("%d是閏年"%year)
          else:
          ? ?print("%d是平年"%year)

          21、獲取最大值

          N = int(input('輸入需要對比大小的數(shù)字的個(gè)數(shù):'))
          print("請輸入需要對比的數(shù)字:")
          num = []
          for i in range(1,N+1):
          ? ?temp = int(input('請輸入第%d個(gè)數(shù)字:'%i))
          ? ?num.append(temp)
          print('您輸入的數(shù)字為:',num)
          print('最大值為:',max(num))
            

          N = int(input('輸入需要對比大小的數(shù)字的個(gè)數(shù):\n'))
          num = [int(input('請輸入第%d個(gè)數(shù)字:\n'%i))for i in range(1,N+1)]
          print('您輸入的數(shù)字為:',num)
          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)之和。

          # 判斷輸入的值是否合法
          if nterms <= 0:
          ?print("請輸入一個(gè)正整數(shù)。")
          elif nterms == 1:
          ?print("斐波那契數(shù)列:")
          ?print(n1)
          else:
          ?print("斐波那契數(shù)列:")
          ?print(n1, ",", n2, end=" , ")
          ?while count < nterms:
          ? ?nth = n1 + n2
          ? ?print(n1+n2, end=" , ")
          ? ?# 更新值
          ? ?n1 = n2
          ? ?n2 = nth
          ? ?count += 1

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

          # 獲取輸入十進(jìn)制數(shù)
          dec = int(input("輸入數(shù)字:"))

          print("十進(jìn)制數(shù)為:", dec)
          print("轉(zhuǎn)換為二進(jìn)制為:", bin(dec))
          print("轉(zhuǎn)換為八進(jìn)制為:", oct(dec))
          print("轉(zhuǎn)換為十六進(jìn)制為:", hex(dec))

          24、最大公約數(shù)

          def hcf(x, y):
          ?"""該函數(shù)返回兩個(gè)數(shù)的最大公約數(shù)"""

          ?# 獲取最小值
          ?if x > y:
          ? ?smaller = y
          ?else:
          ? ?smaller = x

          ?for i in range(1, smaller + 1):
          ? ?if ((x % i == 0) and (y % i == 0)):
          ? ? ?hcf = i

          ?return hcf

          # 用戶輸入兩個(gè)數(shù)字
          num1 = int(input("輸入第一個(gè)數(shù)字: "))
          num2 = int(input("輸入第二個(gè)數(shù)字: "))

          print(num1, "和", num2, "的最大公約數(shù)為", hcf(num1, num2))

          25、最小公倍數(shù)

          # 定義函數(shù)
          def lcm(x, y):

          ? # ?獲取最大的數(shù)
          ? if x > y:
          ? ? ? greater = x
          ? else:
          ? ? ? greater = y

          ? while(True):
          ? ? ? if((greater % x == 0) and (greater % y == 0)):
          ? ? ? ? ? lcm = greater
          ? ? ? ? ? break
          ? ? ? greater += 1

          ? return lcm

          # 獲取用戶輸入
          num1 = int(input("輸入第一個(gè)數(shù)字: "))
          num2 = int(input("輸入第二個(gè)數(shù)字: "))

          print( num1,"和", num2,"的最小公倍數(shù)為", lcm(num1, num2))

          26、簡單計(jì)算器

          # 定義函數(shù)
          def add(x, y):
          ? ?"""相加"""
          ? ?return x + y

          def subtract(x, y):
          ? ?"""相減"""
          ? ?return x - y

          def multiply(x, y):
          ? ?"""相乘"""
          ? ?return x * y

          def divide(x, y):
          ? ?"""相除"""
          ? ?return x / y

          # 用戶輸入
          print("選擇運(yùn)算:")
          print("1、相加")
          print("2、相減")
          print("3、相乘")
          print("4、相除")

          choice = input("輸入你的選擇(1/2/3/4):")

          num1 = int(input("輸入第一個(gè)數(shù)字: "))
          num2 = int(input("輸入第二個(gè)數(shù)字: "))

          if choice == '1':
          ? ?print(num1, "+", num2, "=", add(num1, num2))

          elif choice == '2':
          ? ?print(num1, "-", num2, "=", subtract(num1, num2))

          elif choice == '3':
          ? ?print(num1, "*", num2, "=", multiply(num1, num2))

          elif choice == '4':
          ? ?if num2 != 0:
          ? ? ? ?print(num1, "/", num2, "=", divide(num1, num2))
          ? ?else:
          ? ? ? ?print("分母不能為0")
          else:
          ? ?print("非法輸入")

          27、生成日歷

          # 引入日歷模塊
          import calendar

          # 輸入指定年月
          yy = int(input("輸入年份: "))
          mm = int(input("輸入月份: "))

          # 顯示日歷
          print(calendar.month(yy, mm))

          28、文件IO

          # 寫文件
          with open("test.txt", "wt") as out_file:
          ? ?out_file.write("該文本會寫入到文件中\(zhòng)n看到我了吧!")

          # Read a file
          with open("test.txt", "rt") as in_file:
          ? ?text = in_file.read()

          print(text)

          29、字符串判斷

          # 測試實(shí)例一
          print("測試實(shí)例一")
          str = "runoob.com"
          print(str.isalnum()) # 判斷所有字符都是數(shù)字或者字母
          print(str.isalpha()) # 判斷所有字符都是字母
          print(str.isdigit()) # 判斷所有字符都是數(shù)字
          print(str.islower()) # 判斷所有字符都是小寫
          print(str.isupper()) # 判斷所有字符都是大寫
          print(str.istitle()) # 判斷所有單詞都是首字母大寫,像標(biāo)題
          print(str.isspace()) # 判斷所有字符都是空白字符、\t、\n、\r

          print("------------------------")

          # 測試實(shí)例二
          print("測試實(shí)例二")
          str = "Bake corN"
          print(str.isalnum())
          print(str.isalpha())
          print(str.isdigit())
          print(str.islower())
          print(str.isupper())
          print(str.istitle())
          print(str.isspace())

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

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

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

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

          32、獲取昨天的日期

          # 引入 datetime 模塊
          import datetime
          def getYesterday():
          ? ?today=datetime.date.today()
          ? ?oneday=datetime.timedelta(days=1)
          ? ?yesterday=today-oneday ?
          ? ?return yesterday

          # 輸出
          print(getYesterday())


          瀏覽 39
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人高清无码在线视频s | 99热视屏 | 国产成人精品影视 | 看澡逼做爱黄色视频 | 国产AAA精品 |