博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python实例
阅读量:330 次
发布时间:2019-03-04

本文共 7634 字,大约阅读时间需要 25 分钟。

相关题目在中国mooc嵩天老师的课程中

实例1: 温度转换

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("输入格式错误")

实例2: Python蟒蛇绘制

import turtleturtle.setup(650, 350, 200, 200)turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(25)turtle.pencolor("purple")turtle.seth(-40)for i in range(4):    turtle.circle(40, 80)    turtle.circle(-40, 80)turtle.circle(40, 80/2)turtle.fd(40)turtle.circle(16, 180)turtle.fd(40 * 2/3)turtle.done()

实例3: 天天向上的力量

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

实例4:文本进度条

刷新本质:用打印的字符覆盖之前的字符
\r:打印后光标退回到之前的位置
print(“”,end=” ”) 在end后增加内容,若””为空,光标停在打印的后面
python不识别转义序列,在命令行中执行

import timescale = 50print("执行开始".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,'-'))

实例5: 圆周率的计算

#蒙特卡洛法from random import randomfrom time import perf_counterDARTS = 1000*1000hits = 0.0start = 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 + 1pi = 4 * (hits/DARTS)print("圆周率值是: {}".format(pi))print("运行时间是: {:.5f}s".format(perf_counter() - start))

实例6: 七段数码管绘制

import turtle, timedef 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()

实例7: 科赫雪花小包裹

import turtledef 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()

实例8: 基本统计值计算

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

实例9: 文本词频统计

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) + 1items = 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))

实例10: 自动轨迹绘制

import turtle as tt.title('自动轨迹绘制')t.setup(800, 600, 0, 0)t.pencolor("red")t.pensize(5)#数据读取datals = []f = open("data.txt")for line in f:    line = line.replace("\n","")    datals.append(list(map(eval, line.split(","))))f.close()#自动绘制for i in range(len(datals)):    t.pencolor(datals[i][3],datals[i][4],datals[i][5])    t.fd(datals[i][0])    if datals[i][1]:        t.rt(datals[i][2])    else:        t.lt(datals[i][2])

实例11: 政府工作报告词云

import jiebaimport wordcloudfrom scipy.misc import imreadmask = imread("chinamap.jpg")excludes = {
}f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")t = f.read()f.close()ls = jieba.lcut(t)txt = " ".join(ls)w = wordcloud.WordCloud(\ width = 1000, height = 700,\ background_color = "white", font_path = "msyh.ttc", mask = mask )w.generate(txt)w.to_file("grwordcloudm.png")

实例12: 体育竞技分析

from random import randomdef printIntro():    print("这个程序模拟两个选手A和B的某种竞技比赛")    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")def getInputs():    a = eval(input("请输入选手A的能力值(0-1): "))    b = eval(input("请输入选手B的能力值(0-1): "))    n = eval(input("模拟比赛的场次: "))    return a, b, ndef simNGames(n, probA, probB):    winsA, winsB = 0, 0    for i in range(n):        scoreA, scoreB = simOneGame(probA, probB)        if scoreA > scoreB:            winsA += 1        else:            winsB += 1    return winsA, winsBdef gameOver(a,b):    return a==15 or b==15def simOneGame(probA, probB):    scoreA, scoreB = 0, 0    serving = "A"    while not gameOver(scoreA, scoreB):        if serving == "A":            if random() < probA:                scoreA += 1            else:                serving="B"        else:            if random() < probB:                scoreB += 1            else:                serving="A"    return scoreA, scoreBdef printSummary(winsA, winsB):    n = winsA + winsB    print("竞技分析开始,共模拟{}场比赛".format(n))    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))    print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))def main():    printIntro()    probA, probB, n = getInputs()    winsA, winsB = simNGames(n, probA, probB)    printSummary(winsA, winsB)main()

实例13: 第三方库安装脚本

import oslibs = {
"numpy","matplotlib","pillow","sklearn","requests",\ "jieba","beautifulsoup4","wheel","networkx","sympy",\ "pyinstaller","django","flask","werobot","pyqt5",\ "pandas","pyopengl","pypdf2","docopt","pygame"}try: for lib in libs: os.system("pip3 install "+lib) print("Successful") except:print("Failed Somehow")

实例14:三位水仙花数

#法1ans=""for i in range(100,1000):    a=int(i//100)    b=int((i-100*a)//10)    c=int(i%10)    if a**3+b**3+c**3==i:        ans=ans+str(a)+str(b)+str(c)+", "print(ans[:-2])#法2ans=[]for i in range(100,1000):    a=i//100    b=(i-100*a)//10    c=i%10    if a**3+b**3+c**3==i:        ans.append(str(i))print(", ".join(ans))

转载地址:http://bcnh.baihongyu.com/

你可能感兴趣的文章