# 1. 第一个程序




### 背景

我们的第一个python程序将要实现最简单的打印测试报告的功能。

我们希望可以将回归测试的结果打印到命令行窗口里。测试结果如下所示

```
本次测试功能点5个
测试用例20个
共执行测试用例20个
共发现缺陷0个
用例通过率100%
```

### 代码实现

新建名为```print_report.py```的文本文件，用文本编辑器打开，输入如下内容:

```python
print('本次测试功能点5个')
print('测试用例20个')
print('共执行测试用例20个')
print('共发现缺陷0个')
print('用例通过率100%')
```

### 运行

在命令行中使用下面的命令去执行代码

```
python print_report.py
```

注意: **初学者一般不知道如何在命令行中cd进具体的文件夹，macos可能相对简单一些，对于使用windows的同学来说，cd到具体的文件夹需要两步**

比如我们需要cd到E:\code文件夹，那么步骤应该是

* 首先敲盘符```E:```，然后回车，表示进入E盘先
* 然后敲```cd code```并回车，表示进入code目录


### 你应该可以看到

如果没有出错的话，你应该可以看到命令行窗口显示如下的内容

```
本次测试功能点5个
测试用例20个
共执行测试用例20个
共发现缺陷0个
用例通过率100%
```

如果你遇到错误，那么很多情况下可能会提示

```
python print_report.py // 1
  File "print_report.py", line 4 // 2
    print('共发现缺陷0个) // 3
                   ^ // 4
SyntaxError: EOL while scanning string literal // 5
```

作为初学者，把代码尽可能敲正确和看懂错误提示是非常关键的两件事。

我们在写代码的时候经常会遇到各种各样的错误提示，我们一般可以从错误提示里获得如下的信息

* 哪一行代码出错了
* 出错的原因具体是什么

现在我们来具体分析上面的错误信息

1. 我们运行了名为的print_report.py的脚本
2. pytnon告诉我们print_report.py的文件的第4行有错误
3. python把出错行的内容打印出来
4. 然后python通过```^```字符告诉我们错误具体发生在哪里。可以看出我们漏掉了一个单引号
5. 最后python告诉我们具体的错误是什么，这里是"SyntaxError"。一般情况下，我们可以把错误信息，也就是```SyntaxError: EOL while scanning string literal```这一行直接拷贝到搜索引擎里去搜索具体的解决方案，大部分情况下，我们都可以得到满意的结果

### 动手时间

尝试去做下面一些事情

* 再多打印1行信息，随便打印些什么都行
* 只打印1行信息，随便打印些什么都行
* 在任意一行的开头插入'#'号，然后运行程序，看看发生了什么


### 常见问题

* **我可以使用IDLE吗？** 不可以，在macos下你应该使用Terminal，windows下使用powershell。
* **怎么让编辑器有语法高亮效果呢？** 把正在编辑的文件保存成.py扩展名的文件就可以了
* **我在运行print_report.py时候出现了python: can't open file 'python': [Errno 2] No such file or directory错误。** 你应该cd到print_report.py所在的文件夹去执行该文件




原始封面

![课程图片](https://images.unsplash.com/photo-1551836022-b06985bceb24?w=300)


