<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 編程學習 >> Python >> 正文

      Python之實例分析_Python實例

      作者:佚名    文章來源:網友    點擊數:    更新時間:2023/10/31

      實例一、溫度轉換

      溫度刻畫的兩種不同體系,是攝氏度和華氏度,

      攝氏度:以1標準大氣壓下水的結冰點為0度,沸點為100度,中國等世界大多數國家使用;
      華氏度:以1標準大氣壓下水的結冰點為32度,沸點為212度,英美等國家使用;
      系,

      1,輸入:輸入帶華氏或攝氏標致的溫度值,,
      2,處理:根據溫度標致選擇適當的溫度轉換算法,
      3,輸出:輸出帶攝氏或華氏的溫度值,
      <F標識華氏度,C表示攝氏度,

      華氏轉換公式:F=C*1.8+32
      攝氏轉換公式:C=(F-32)/1.8

      #TempConvert.py
      TempStr = input("請輸入帶有符號的溫度值:")
      if TempStr[-1] in ['F','f']:
          C = (eval(TempStr[0:1])-32)/1.8
          print('轉換后的溫度是{:.2f}C'.format(C))
      elif TempStr[-1] in ['C','c']:
          F = 1.8*eval(TempStr[0:1])+32
          print("轉換后的溫度是{:.2f}F".format(F))
      else:
          print("輸入格式錯誤")
      

      溫度轉換問題是各類轉換問題的代表性問題,如貨幣轉換、長度轉換、重量轉換、面積轉換等

      實例二、天天向上的力量

      問題1:千分之一的力量
      -一年365天,每天進步千分之一,累計進步多少呢?
      -一年365天,每天退步千分之一,累計剩下多少呢?

      #DayDayUpQ1.py
      dayup=pow(1.001,365)
      daydown=pow(0.999,365)
      print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
      

      問題2:千分之五和白分之一的力量
      -一年365天,每天進步千分之五或百分之一,累計退步多少呢?
      -一年365天,每天退步千分之五或百分之一,累計退步多少呢?

      #DayDayUpQ2.py
      dayfactor=0.005
      dayup=pow(1+dayfactor,365)
      daydown=pow(1-dayfactor,365)
      print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
      
      #DayDayUpQ2.py
      dayfactor=0.01
      dayup=pow(1+dayfactor,365)
      daydown=pow(1-dayfactor,365)
      print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
      

      問題3:工作日的力量
      -一年365天,一周5個公作日,每天進步1%
      -一年365天,一周2個公作日,每天退步1%
      -這種工作日的力量,如何呢?

      #DayDayUp3.py
      dayup=1.0
      dayfactor=0.01
      for i in range(365):
       if i % 7 in [6,0]:
        dayup=dayup*(1-dayfactor)
       else:
        dayup=dayup*(1+dayfactor)
      print("工作日的力量:{:.2f}".format(dayup))
      

      問題4:工作日的努力
      -工作日模式要努力到什么水平,才能與每天努力1%一樣?
      假設兩個人
      -A君:一年365天,每天進步1%,不停歇
      -B君:一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢?

      #DayDayUpQ4.py
      def dayUP(df):
       dayup=1
       for i in range(365):
        if i % 7 in [6,0]:
         dayup=dayup*(1-0.01)
        else:
         dayup=dayup*(1+df)
       return dayup
      dayfactor=0.01
      while dayUP(dayfactor)<37.78:
       dayfactor+=0.001
      print("工作日的努力參數是:{:.3f}".format(dayfactor))
      

      實例三、python蟒蛇的繪制

      參考turtle庫專題內容:python蟒蛇繪制

      實例四、文本進度條

      1、文本進度條 簡單的開始

      #TextProBarV1.py
      import time
      scale = 10
      print("------執行開始------")
      for i in range(scale+1):
          a = '*' * i
          b = '.' * (scale - i)
          c = (i/scale)*100
          print("{:^3.0f}%[{}->{}]".format(c,a,b))
          time.sleep(0.1)
      print("------執行結束------")
      

      2、文本進度條 單行動態刷新

      #TextProBarV2.py
      import time
      for i in range(101):
          print("\r{:3}%".format(i), end="")
          time.sleep(0.1)
      

      3、文本進度條 實例完整效果

      #TextProBarV3.py
      import time
      scale = 50
      print("執行開始".center(scale//2, "-"))
      start = time.perf_counter()
      for i in range(scale+1):
          a = '*' * i
          b = '.' * (scale - i)
          c = (i/scale)*100
          dur = time.perf_counter() - start
          print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
          time.sleep(0.1)
      print("\n"+"執行結束".center(scale//2,'-'))
      

      實例五、身體質量指數BMI

      國際:

      #CalBMIv1.py
      height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: "))
      bmi = weight / pow(height, 2)
      print("BMI 數值為:{:.2f}".format(bmi))
      who = ""
      if bmi < 18.5:
          who = "偏瘦"
      elif 18.5 <= bmi < 25:
          who = "正常"
      elif 25 <= bmi < 30:
          who = "偏胖"
      else:
          who = "肥胖"
      print("BMI 指標為:國際'{0}'".format(who))
      

      國內:

      #CalBMIv2.py
      height, weight = eval(input("請輸入身高(米)和體重\(公斤)[逗號隔開]: "))
      bmi = weight / pow(height, 2)
      print("BMI 數值為:{:.2f}".format(bmi))
      nat = ""
      if bmi < 18.5:
          nat = "偏瘦"
      elif 18.5 <= bmi < 24:
          nat = "正常"
      elif 24 <= bmi < 28:
          nat = "偏胖"
      else:
          nat = "肥胖"
      print("BMI 指標為:國內'{0}'".format(nat))
      

      兩個同時:

      #CalBMIv3.py
      height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: "))
      bmi = weight / pow(height, 2)
      print("BMI 數值為:{:.2f}".format(bmi))
      who, nat = "", ""
      if bmi < 18.5:
          who, nat = "偏瘦", "偏瘦"
      elif 18.5 <= bmi < 24:
          who, nat = "正常", "正常"
      elif 24 <= bmi < 25:
          who, nat = "正常", "偏胖"
      elif 25 <= bmi < 28:
          who, nat = "偏胖", "偏胖"
      elif 28 <= bmi < 30:
          who, nat = "偏胖", "肥胖"
      else:
          who, nat = "肥胖", "肥胖"
      print("BMI 指標為:國際'{0}', 國內'{1}'".format(who, nat))
      

      實例六、圓周率的計算

      公式法

      #CalPiV1.py
      pi = 0
      N = 100
      for k in range(N):
          pi += 1/pow(16,k)*( \
                    4/(8*k+1) - 2/(8*k+4) - \
                    1/(8*k+5) - 1/(8*k+6) ) 
      print("圓周率值是: {}".format(pi))
      

      蒙特卡羅方法

      #CalPiV2.py
      from random import random
      from time import perf_counter
      DARTS = 1000*1000
      hits = 0.0
      start = perf_counter()
      for i in range(1, DARTS+1):
          x, y = random(), random()
          dist = pow(x ** 2 + y ** 2, 0.5)
          if dist <= 1.0:
              hits = hits + 1
      pi = 4 * (hits/DARTS)
      print("圓周率值是: {}".format(pi))
      print("運行時間是: {:.5f}s".format(perf_counter() - start))
      

      實例七、七段數碼管繪制

      版本一:

      #SevenDigitsDrawV1.py
      import turtle
      def drawLine(draw):   #繪制單段數碼管
          turtle.pendown() if draw else turtle.penup()
          turtle.fd(40)
          turtle.right(90)
      def drawDigit(digit): #根據數字繪制七段數碼管
          drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
          drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
          drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
          drawLine(True) if digit in [0,2,6,8] else drawLine(False)
          turtle.left(90)
          drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
          drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
          drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
          turtle.left(180)
          turtle.penup()
          turtle.fd(20) 
      def drawDate(date):  #獲得要輸出的數字
          for i in date:
              drawDigit(eval(i))  #通過eval()函數將數字變為整數
      def main():
          turtle.setup(800, 350, 200, 200)
          turtle.penup()
          turtle.fd(-300)
          turtle.pensize(5)
          drawDate('20181010')
          turtle.hideturtle()
          turtle.done()
      main()
      

      版本二:

      #SevenDigitsDrawV2.py
      import turtle, time
      def drawGap(): #繪制數碼管間隔
          turtle.penup()
          turtle.fd(5)
      def drawLine(draw):   #繪制單段數碼管
          drawGap()
          turtle.pendown() if draw else turtle.penup()
          turtle.fd(40)
          drawGap()
          turtle.right(90)
      def drawDigit(d): #根據數字繪制七段數碼管
          drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
          drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
          drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
          drawLine(True) if d in [0,2,6,8] else drawLine(False)
          turtle.left(90)
          drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
          drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
          drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
          turtle.left(180)
          turtle.penup()
          turtle.fd(20)
      def drawDate(date):
          turtle.pencolor("red")
          for i in date:
              if i == '-':
                  turtle.write('年',font=("Arial", 18, "normal"))
                  turtle.pencolor("green")
                  turtle.fd(40)
              elif i == '=':
                  turtle.write('月',font=("Arial", 18, "normal"))
                  turtle.pencolor("blue")
                  turtle.fd(40)
              elif i == '+':
                  turtle.write('日',font=("Arial", 18, "normal"))
              else:
                  drawDigit(eval(i))
      def main():
          turtle.setup(800, 350, 200, 200)
          turtle.penup()
          turtle.fd(-350)
          turtle.pensize(5)
      #    drawDate('2018-10=10+')
          drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))
          turtle.hideturtle()
          turtle.done()
      main()
      

      實例八、科赫曲線繪制

      #KochDrawV1.py
      import turtle
      def koch(size, n):
          if n == 0:
              turtle.fd(size)
          else:
              for angle in [0, 60, -120, 60]:
                 turtle.left(angle)
                 koch(size/3, n-1)
      def main():
          turtle.setup(800,400)
          turtle.penup()
          turtle.goto(-300, -50)
          turtle.pendown()
          turtle.pensize(2)
          koch(600,3)     # 0階科赫曲線長度,階數
          turtle.hideturtle()
      main()
      

      科赫雪花繪制

      #KochDrawV2.py
      import turtle
      def koch(size, n):
          if n == 0:
              turtle.fd(size)
          else:
              for angle in [0, 60, -120, 60]:
                 turtle.left(angle)
                 koch(size/3, n-1)
      def main():
          turtle.setup(600,600)
          turtle.penup()
          turtle.goto(-200, 100)
          turtle.pendown()
          turtle.pensize(2)
          level = 3      # 3階科赫雪花,階數
          koch(400,level)     
          turtle.right(120)
          koch(400,level)
          turtle.right(120)
          koch(400,level)
          turtle.hideturtle()
      main()
      

      實例九、基本統計值計算

      #CalStatisticsV1.py
      def getNum():       #獲取用戶不定長度的輸入
          nums = []
          iNumStr = input("請輸入數字(回車退出): ")
          while iNumStr != "":
              nums.append(eval(iNumStr))
              iNumStr = input("請輸入數字(回車退出): ")
          return nums
      def mean(numbers):  #計算平均值
          s = 0.0
          for num in numbers:
              s = s + num
          return s / len(numbers)
      def dev(numbers, mean): #計算方差
          sdev = 0.0
          for num in numbers:
              sdev = sdev + (num - mean)**2
          return pow(sdev / (len(numbers)-1), 0.5)
      def median(numbers):    #計算中位數
          sorted(numbers)
          size = len(numbers)
          if size % 2 == 0:
              med = (numbers[size//2-1] + numbers[size//2])/2
          else:
              med = numbers[size//2]
          return med
      n =  getNum() #主體函數
      m =  mean(n)
      print("平均值:{},方差:{:.2},中位數:{}.".format(m, dev(n,m),median(n)))
      

      實例10、文本詞頻統計

      Hamlet詞頻統計

      #CalHamletV1.py
      def getText():
          txt = open("hamlet.txt", "r").read()
          txt = txt.lower()
          for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
              txt = txt.replace(ch, " ")   #將文本中特殊字符替換為空格
          return txt
      hamletTxt = getText()
      words  = hamletTxt.split()
      counts = {}
      for word in words:   
          counts[word] = counts.get(word,0) + 1
      items = list(counts.items())
      items.sort(key=lambda x:x[1], reverse=True) 
      for i in range(10):
          word, count = items[i]
          print ("{0:<10}{1:>5}".format(word, count))
      

      三國演義》人物出場統計(上)(含《三國演義》原文文本)

      #CalThreeKingdomsV1.py
      import jieba
      txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
      words  = jieba.lcut(txt)
      counts = {}
      for word in words:
          if len(word) == 1:
              continue
          else:
              counts[word] = counts.get(word,0) + 1
      items = list(counts.items())
      items.sort(key=lambda x:x[1], reverse=True) 
      for i in range(15):
          word, count = items[i]
          print ("{0:<10}{1:>5}".format(word, count))
      

      《三國演義》人物出場統計(下)(含《三國演義》原文文本)

      #CalThreeKingdomsV2.py
      import jieba
      excludes = {"將軍","卻說","荊州","二人","不可","不能","如此"}
      txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
      words  = jieba.lcut(txt)
      counts = {}
      for word in words:
          if len(word) == 1:
              continue
          elif word == "諸葛亮" or word == "孔明曰":
              rword = "孔明"
          elif word == "關公" or word == "云長":
              rword = "關羽"
          elif word == "玄德" or word == "玄德曰":
              rword = "劉備"
          elif word == "孟德" or word == "丞相":
              rword = "曹操"
          else:
              rword = word
          counts[rword] = counts.get(rword,0) + 1
      for word in excludes:
          del counts[word]
      items = list(counts.items())
      items.sort(key=lambda x:x[1], reverse=True) 
      for i in range(10):
          word, count = items[i]
          print ("{0:<10}{1:>5}".format(word, count))
      
      Tags:Python,案例,代碼,實例代碼  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲综合无码一区二区痴汉| 色综合久久中文字幕无码| 亚洲国产精品综合久久久| 亚洲妓女综合网99| 亚洲av综合日韩| 久久婷婷成人综合色| 成人综合在线视频| 久久天天日天天操综合伊人av| 国产亚洲综合色就色| 婷婷激情狠狠综合五月| 国产成人亚洲综合无码精品| 国产成人综合一区精品| 狠狠色狠狠色综合网| 国产精品综合视频| 久久久久久久综合狠狠综合| 久久伊人久久亚洲综合| 色综合伊人色综合网站| 六月婷婷缴清综合在线| 色综合久久久久综合体桃花网| 亚洲国产综合AV在线观看| 亚洲综合成人网在线观看| 亚洲人成伊人成综合网久久久| 国产精品无码久久综合网| 亚洲综合一区国产精品| 亚洲综合亚洲国产尤物| 久久亚洲伊人中字综合精品| 久久综合久久性久99毛片| 狠狠色丁香婷婷久久综合 | 久久综合久久综合久久| 婷婷久久综合九色综合九七| 亚洲免费综合色在线视频| 色综合久久久无码中文字幕波多| 狠狠色噜狠狠狠狠色综合久| 色综合久久久无码网中文| 伊人色综合久久天天五月婷| 亚洲国产综合在线| 天天综合网网欲色| 久久91综合国产91久久精品| 一本一道久久精品综合| 伊人久久婷婷五月综合97色| 色婷婷色综合激情国产日韩|