20193417 2019-2020-2 《Python程序设计》实验一报告

20193417 2019-2020-2 《Python程序设计》实验一报告

  • 课程:《Python程序设计》
  • 班级:1934
  • 姓名:段恺宇
  • 学号:20193417
  • 实验教师:王志强
  • 实验日期:2020年4月11日
  • 必修/选修:公选课

1. 实验内容

  1. 熟悉Python开发环境;
  2. 练习Python运行、调试技能;
  3. 编写程序,练习变量、类型、字符串、对象、缩进和注释等;
  4. 掌握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. 问题1:如何储存用户输入的每个数字?

    • 原始版:使用列表储存,用户输入结束后再遍历列表,找出最大、最小数
    • 改进版:不需要使用列表,把用户输入的第一个数先赋值给largest、smallest,第二个数开始,如果比第一个数大则赋值给largest,不赋值给smallest;反之亦然。直到用户输入结束则跳出循环
  2. 问题2: 用vs code如何git到码云?

    • 由于老师发的教程是针对pycharm的,而网上用vs code git到码云上的方法众说纷纭,很难判断哪个是正确的教程,只能自己花时间对比几种主流说法,一 一尝试,最终误打误撞成功掌握了用vs code git技能

4. 其他(感悟、思考等)

  • 在无论是Python还是任何学科的学习中,遇到困难时不能轻易退缩。比如在我用惯VS code的情况下,如果无法自己研究出git方法,就只能卸载vs code,重新开始接触Pycharm。但只要不放弃,始终还是能解决问题的。
  • 对比与c语言,python可谓是相当简洁,想敲什么代码直接就可以开始,不用像c语言一样调用头文件、编写主函数等等。Python的语法也不复杂,增强了Python的可读性,方便查错。

 

 

posted on 2020-04-11 17:35  DuKeYu  阅读(87)  评论(0编辑  收藏