写、保存与运行 Python 程序。
通过 Python 来运行的你的程序有两种方法——使用交互式解释器提示符或直接运行一个源代
码文件。我们将了解如何使用他们二者的功能。
使用解释器提示符
在你的操作系统中打开终端(Terminal)程序(正如我们先前在 安装 章节所讨论过的那样)
然后通过输入 python3 并按下 [enter] 键来打开 Python 提示符(Python Prompt)。
当你启动 Python 后,你会看见在你能开始输入内容的地方出现了 >>>。这个被称作 Python
解释器提示符(Python Interpreter Prompt)
在 Python 解释器提示符,输入:
在输入完成后按下 [enter] 键。你将会看到屏幕上打印出 Hello World 字样。
如果你正在使用一款 GNU/Linux 或 OS X 上的 Shell 程序,你可以通过按下 [ctrl + d] 组
合键或是输入 exit() (注意:要记住要包含括号 () )并敲下 [enter] 来退出解释器提示
符。
如果你使用的是 Windows 命令提示符,可以按下 [ctrl + z] 组合键并敲击 [enter] 键来
退出
已经进入python的交互提示符了,就不能再用这样的路径的方式执行了,可以Ctrl+D 或exit()退出python的交互模式,然后用这样的方式执行如:
python f:/1.py
这样就可以执行python脚本程序了。
python提示没有canvas这个模块。如下为绘图不成功的代码from tkinter import *
import math
WIDTH, HEIGHT = 510, 210
ORIGIN_X, ORIGIN_Y = 2, HEIGHT/2 #原点
SCALE_X, SCALE_Y = 40, 100 #x轴、y轴缩放倍数
ox, oy = 0, 0
x, y = 0, 0
arc = 0 #弧度
END_ARC = 360 * 2 #函数图形画两个周期
root = Tk()
c = Canvas(root, bg = 'white', width = WIDTH, height = HEIGHT)
c.pack()
c.create_text(200, 20, text = 'y = cos(x)')
c.create_line(0, ORIGIN_Y, WIDTH, ORIGIN_Y)
c.create_line(ORIGIN_X, 0, ORIGIN_X, HEIGHT)
for i in range(0, END_ARC+1, 10):
arc = math.pi * i / 180
x = ORIGIN_X + arc * SCALE_X
y = ORIGIN_Y - math.cos(arc) * SCALE_Y
c.create_line(ox, oy, x, y)
ox, oy = x, y
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
直接执行返回 0 然后没有显示图片
在这里插入图片描述
2、解决办法
在最下面加一行代码:
root.mainloop()
1
完整代码如下:
from tkinter import *
import math
WIDTH, HEIGHT = 510, 210
ORIGIN_X, ORIGIN_Y = 2, HEIGHT/2 #原点
SCALE_X, SCALE_Y = 40, 100 #x轴、y轴缩放倍数
ox, oy = 0, 0
x, y = 0, 0
arc = 0 #弧度
END_ARC = 360 * 2 #函数图形画两个周期
root = Tk()
c = Canvas(root, bg = 'white', width = WIDTH, height = HEIGHT)
c.pack()
c.create_text(200, 20, text = 'y = cos(x)')
c.create_line(0, ORIGIN_Y, WIDTH, ORIGIN_Y)
c.create_line(ORIGIN_X, 0, ORIGIN_X, HEIGHT)
for i in range(0, END_ARC+1, 10):
arc = math.pi * i / 180
x = ORIGIN_X + arc * SCALE_X
y = ORIGIN_Y - math.cos(arc) * SCALE_Y
c.create_line(ox, oy, x, y)
ox, oy = x, y
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
然后即可绘制出图片
在这里插入图片描述
3、原因
root到root.pack()之间,是设计的部件的类型,尺寸,样式,位置,然后绑定一个事件。mainloop就进入到事件(消息)循环。一旦检测到事件,就刷新组件。那是网上的说法,我的理解是如果没有mainloop,它也会绘图,但是绘图完成后就关闭了程序,所以就好像没有显示一样,加上mainloop后,它会监听你的行为,有关闭它才会结束程序