Python程序设计(第3版) - 学习笔记_第四章

本博客主要为了学习Python使用,若有错误欢迎指正。

本章利用 Tkinter 的一层包装 graphics.py 编写图形

1. 简单的图形编程 (像素)

以前面的年利率为例作图

# futval_graph

from graphics import *

def main():
    print("This program plots the growth of a 10-year investment.")

    principal = float(input("Enter the initial principal: "))
    apr=float(input("Enter the annualized interest rate: "))
    
    win = GraphWin("Investment Growth Chart",320,240)
    win.setBackground("white")
    Text(Point(20,230),' 0.0k').draw(win)
    Text(Point(20,180),' 2.5k').draw(win)
    Text(Point(20,130),' 5.0k').draw(win)
    Text(Point(20,80),' 7.5k').draw(win)
    Text(Point(20,30),'10.0k').draw(win)

    for year in range(0,11):

        if year==0:
            principal = principal
        else:
            principal = principal * (1+apr)

        x_lower_left = 25 * year + 40
        height = principal * 0.02
        bar = Rectangle(Point(x_lower_left,230),Point(x_lower_left+25,230-height))
        bar.setFill("green")
        bar.setWidth(2)
        bar.draw(win)
    input("Press <Enter> to quit")
    win.close()

main()
    
    

2. 简单图形编程(坐标,更加推荐)

# futval_graph

from graphics import *

def main():
    print("This program plots the growth of a 10-year investment.")

    principal = float(input("Enter the initial principal: "))
    apr=float(input("Enter the annualized interest rate: "))
    
    win = GraphWin("Investment Growth Chart",320,240)
    win.setBackground("white")
    win.setCoords(-1.75,-200,11.5,10400)
    Text(Point(-1,0),' 0.0k').draw(win)
    Text(Point(-1,2500),' 2.5k').draw(win)
    Text(Point(-1,5000),' 5.0k').draw(win)
    Text(Point(-1,7500),' 7.5k').draw(win)
    Text(Point(-1,10000),'10.0k').draw(win)

    for year in range(0,11):

        if year==0:
            principal = principal
        else:
            principal = principal * (1+apr)

        bar = Rectangle(Point(year,0),Point(year+1,principal))
        bar.setFill("green")
        bar.setWidth(1)
        bar.draw(win)
    input("Press <Enter> to quit")
    win.close()

main()
    
    

3. 交互式图形

# File: triangle.pyw

from graphics import *

def main():
    win = GraphWin("Draw a Triangle",350,350)
    win.setCoords(0.0,0.0,10.0,10.0)
    message = Text(Point(5,0.5),"Click on three points")
    message.draw(win)

    p1=win.getMouse()
    p1.draw(win)
    p2=win.getMouse()
    p2.draw(win)
    p3=win.getMouse()
    p3.draw(win)

    triangle = Polygon(p1,p2,p3) # Polygon -> 多边形
    triangle.setFill("peachpuff")
    triangle.setOutline("cyan")
    triangle.draw(win)

    message.setText("Click anywhere to quit.")
    win.getMouse()
    win.close()

main()
    

4. 处理文本输入问题

5. graphics 模块参考

猜你喜欢

转载自blog.csdn.net/SMyName/article/details/81607079