美文网首页
# c04ex06.pyw

# c04ex06.pyw

作者: 特丽斯纳普 | 来源:发表于2018-03-29 16:38 被阅读0次

    c04ex06.pyw

    Future value with graphical input.

    from graphics import *

    def main():
    win = GraphWin("Investment Growth Chart", 640, 480)
    win.setBackground("white")
    # Set coordinates for easy display of prompts.
    win.setCoords(0,0,10,10)

    # Display prompts
    t1 = Text(Point(5,8), "Plotting a 10 year investment")
    t1.setSize(14)
    t1.draw(win)
    
    t2 = Text(Point(5,7.5), "Enter the information below and then click anywhere")
    t2.setSize(14)
    t2.draw(win)
    
    t3 = Text(Point(2,6), "Initial Principal:")
    t3.setSize(14)
    t3.draw(win)
    
    prinBox = Entry(Point(4.5,6), 6)
    prinBox.draw(win)
    prinBox.setText("2000")
    
    t4 = Text(Point(2,4), "Annual Interest Rate:")
    t4.setSize(14)
    t4.draw(win)
    
    aprBox = Entry(Point(4.5,4), 6)
    aprBox.setText("0.05")
    aprBox.draw(win)
    
    # wait for mouse click and get values
    win.getMouse()
    principal = float(prinBox.getText())
    apr = float(aprBox.getText())
    
    # Erase the prompts
    t1.undraw()
    t2.undraw()
    t3.undraw()
    t4.undraw()
    prinBox.undraw()
    aprBox.undraw()
    
    
    # Set Window coords for drawing the graph.
    win.setCoords(-1.75,-200, 11.5, 10400)
    
    # Create a graphics window with labels on left edge
    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)
    
    # Draw bar for initial principal
    bar = Rectangle(Point(0, 0), Point(1, principal))
    bar.setFill("green")
    bar.setWidth(2)
    bar.draw(win)
    
    # Draw a bar for each subsequent year
    for year in range(1, 11):
        principal = principal * (1 + apr)
        bar = Rectangle(Point(year, 0), Point(year+1, principal))
        bar.setFill("green")
        bar.setWidth(2)
        bar.draw(win)
    
    win.getMouse()
    win.close()
    

    main()

    相关文章

      网友评论

          本文标题:# c04ex06.pyw

          本文链接:https://www.haomeiwen.com/subject/bdtvcftx.html