日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 編程學(xué)習(xí) >> Python >> 正文

Python之實(shí)例分析_Python實(shí)例

作者:佚名    文章來源:網(wǎng)友    點(diǎn)擊數(shù):    更新時(shí)間:2023/10/31

實(shí)例一、溫度轉(zhuǎn)換

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

攝氏度:以1標(biāo)準(zhǔn)大氣壓下水的結(jié)冰點(diǎn)為0度,沸點(diǎn)為100度,中國等世界大多數(shù)國家使用;
華氏度:以1標(biāo)準(zhǔn)大氣壓下水的結(jié)冰點(diǎn)為32度,沸點(diǎn)為212度,英美等國家使用;
系,

1,輸入:輸入帶華氏或攝氏標(biāo)致的溫度值,,
2,處理:根據(jù)溫度標(biāo)致選擇適當(dāng)?shù)臏囟绒D(zhuǎn)換算法,
3,輸出:輸出帶攝氏或華氏的溫度值,
<F標(biāo)識華氏度,C表示攝氏度,

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

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

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

實(shí)例二、天天向上的力量

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

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

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

#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個(gè)公作日,每天進(jìn)步1%
-一年365天,一周2個(gè)公作日,每天退步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%一樣?
假設(shè)兩個(gè)人
-A君:一年365天,每天進(jìn)步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("工作日的努力參數(shù)是:{:.3f}".format(dayfactor))

實(shí)例三、python蟒蛇的繪制

參考turtle庫專題內(nèi)容:python蟒蛇繪制

實(shí)例四、文本進(jìn)度條

1、文本進(jìn)度條 簡單的開始

#TextProBarV1.py
import time
scale = 10
print("------執(zhí)行開始------")
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("------執(zhí)行結(jié)束------")

2、文本進(jìn)度條 單行動態(tài)刷新

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

3、文本進(jìn)度條 實(shí)例完整效果

#TextProBarV3.py
import time
scale = 50
print("執(zhí)行開始".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"+"執(zhí)行結(jié)束".center(scale//2,'-'))

實(shí)例五、身體質(zhì)量指數(shù)BMI

國際:

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

國內(nèi):

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

兩個(gè)同時(shí):

#CalBMIv3.py
height, weight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]: "))
bmi = weight / pow(height, 2)
print("BMI 數(shù)值為:{:.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 指標(biāo)為:國際'{0}', 國內(nèi)'{1}'".format(who, nat))

實(shí)例六、圓周率的計(jì)算

公式法

#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("運(yùn)行時(shí)間是: {:.5f}s".format(perf_counter() - start))

實(shí)例七、七段數(shù)碼管繪制

版本一:

#SevenDigitsDrawV1.py
import turtle
def drawLine(draw):   #繪制單段數(shù)碼管
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    turtle.right(90)
def drawDigit(digit): #根據(jù)數(shù)字繪制七段數(shù)碼管
    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):  #獲得要輸出的數(shù)字
    for i in date:
        drawDigit(eval(i))  #通過eval()函數(shù)將數(shù)字變?yōu)檎麛?shù)
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(): #繪制數(shù)碼管間隔
    turtle.penup()
    turtle.fd(5)
def drawLine(draw):   #繪制單段數(shù)碼管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)
def drawDigit(d): #根據(jù)數(shù)字繪制七段數(shù)碼管
    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()

實(shí)例八、科赫曲線繪制

#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階科赫曲線長度,階數(shù)
    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階科赫雪花,階數(shù)
    koch(400,level)     
    turtle.right(120)
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()
main()

實(shí)例九、基本統(tǒng)計(jì)值計(jì)算

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

實(shí)例10、文本詞頻統(tǒng)計(jì)

Hamlet詞頻統(tǒng)計(jì)

#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))

三國演義》人物出場統(tǒng)計(jì)(上)(含《三國演義》原文文本)

#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))

《三國演義》人物出場統(tǒng)計(jì)(下)(含《三國演義》原文文本)

#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 == "關(guān)公" or word == "云長":
        rword = "關(guān)羽"
    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,案例,代碼,實(shí)例代碼  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢