美文网首页
# 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

    c04ex06.pyw Future value with graphical input. from graph...

网友评论

      本文标题:# c04ex06.pyw

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