20193417 2019-2020-2 《Python程序设计》实验一报告
20193417 2019-2020-2 《Python程序设计》实验一报告
- 课程:《Python程序设计》
- 班级:1934
- 姓名:段恺宇
- 学号:20193417
- 实验教师:王志强
- 实验日期:2020年4月11日
- 必修/选修:公选课
1. 实验内容
- 熟悉Python开发环境;
- 练习Python运行、调试技能;
- 编写程序,练习变量、类型、字符串、对象、缩进和注释等;
- 掌握git技能;
2. 实验过程及结果
1. 熟悉Python开发环境:
我知道的Python开发环境主要是Visual Studio Code、Pycharm 、IDLE,目前使用的是已经用惯了的Visual Studio Code,并辅助使用IDLE。
2. 练习Python运行、调试技能
3. 编写程序,练习变量、类型、字符串、对象、缩进和注释等
1.缩进
可以使用tab键或者四个空格,但每个文件只能使用一种缩进风格,否则会报错
2. 注释
单行注释可以在行开头加#号
多行注释可以用将' ' '号置于要注释的代码开头和结尾或者用Ctrl+/进行多行缩进,第二次使用Ctrl+/则可以取消缩进
3. 完整程序:要求用户不断输入数字,直到用户输入done结束,判断并输出其中最大、最小的数,要求使用while循环
- 原始版,运用了while循环、for循环、if判断语句、列表、input()、print()功能,但是程序冗长,可以简化
print('enter numbers(type done when you finish):') list=[None] mx=None mn=None while True: n=input('>>') if n=='done': break try: num=float(n) except : num=None print('invalid input') print('what is next?') if list[0] is None: list[0]=num else: list=list+[num] print('what numbers you have typed in are:',list) for i in list: if mx is None: mx=i elif i is None: del(i) elif i>mx: mx=i print('max number is',mx) for j in list: if mn is None: mn=j elif j is None: del(j) elif j<mn: mn=j print('min number is ',mn)
- 改进版,只需要使用while循环和if判断语句,外加try/except增强程序健壮性
#改进版 largest = None smallest = None while True: num = input("Enter a number: ") if num == "done" : break try: num=int(num) if largest is None: largest=num elif largest<num: largest=num if smallest is None: smallest=num elif smallest>num: smallest=num except: print("Invalid input") print("Maximum is",largest) print("Minimum is",smallest)
4. 掌握git技能
- 点击左侧“源代码管理器”,选择“更改”中需要push的文件,点击“+”号暂存文件
- 点击“提交已暂存文件”
- 点击“推送”即可push至码云
3. 实验过程中遇到的问题和解决的方法
问题1:如何储存用户输入的每个数字?
- 原始版:使用列表储存,用户输入结束后再遍历列表,找出最大、最小数
- 改进版:不需要使用列表,把用户输入的第一个数先赋值给largest、smallest,第二个数开始,如果比第一个数大则赋值给largest,不赋值给smallest;反之亦然。直到用户输入结束则跳出循环
问题2: 用vs code如何git到码云?
- 由于老师发的教程是针对pycharm的,而网上用vs code git到码云上的方法众说纷纭,很难判断哪个是正确的教程,只能自己花时间对比几种主流说法,一 一尝试,最终误打误撞成功掌握了用vs code git技能
4. 其他(感悟、思考等)
- 在无论是Python还是任何学科的学习中,遇到困难时不能轻易退缩。比如在我用惯VS code的情况下,如果无法自己研究出git方法,就只能卸载vs code,重新开始接触Pycharm。但只要不放弃,始终还是能解决问题的。
- 对比与c语言,python可谓是相当简洁,想敲什么代码直接就可以开始,不用像c语言一样调用头文件、编写主函数等等。Python的语法也不复杂,增强了Python的可读性,方便查错。