20214201 实验一 《Python程序设计》实验报告

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

课程:《Python程序设计》
班级: 2142
姓名: 刘嘉铭
学号: 20214201
实验教师:王志强
实验日期:2022年3月17日
必修/选修: 公选课

1.实验内容

1.熟悉Python开发环境;
2.练习Python运行、调试技能;
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;
4.掌握git技能。

2. 实验过程及结果

1.熟悉Python开发环境;

a)安装Python3环境
b)安装PyCharm软件 https://www.jetbrains.com/pycharm/download/#section=windows

image
image
成功启动PyCharm编译环境!

2.练习Python运行、调试技能;

a)CMD运行、调试
  • 运行
    image
    image

  • 调试
    在Python交互环境中启用调试:在源文件要进入调试的地方输入如下代码再运行即可:

    点击查看代码
    1 import pdb
    2 pdb.set_trace()
    
b)IDLE运行、调试
  • 运行
    image
  • 调试
    1. 在编译器中想调试的语句上增加或删除断点。在该语句上右键选择Set Breakpoint, Clear Breakpoint
    2. 运行要调试的文件(Fn+F5),在出现的Shell窗口中,点击菜单栏Debug栏中的Debugger,出现调试控制窗口(如下图)
      image
      Go:跳至断点
      Step:进入函数
      Over:单步执行
      Out:跳出函数
      Quit:结束调试
      中间白色框内为正在执行的语句
      下部Locals为局部变量值
c)PyCharm运行、调试
  • 运行(Ctrl+Shift+F5)
    image
  • 进入调试模式
    • 方法一:
      输入if __name__,PyCharm会自动识别并在左侧行数栏中显示绿色箭头,右键绿色箭头则可进入调试模式。
      image
    • 方法二:
      无代码空白处直接右键选择“调试”。
    • 方法三:
      在最上方菜单栏出选择“运行”栏中的“调试”选项。
  • 断点调试
    点击行数栏右侧位置出现红点,并使整行红色高亮显示,即设置好断点。
    image
    使用调试模式运行程序。
    image
    对程序进行调试操作,调试完毕后现实如下画面:
    image
    其他断点调试相关操作与内容详见参考资料的拓展。

3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;

(1)编写程序

a)“Hello,World”:

点击查看代码
print("Hello,World")

b)猜数游戏(升级版)

点击查看代码
import random
ans = random.randint(int(input("Left side of range:")),int(input("Right side of range:")))
bat = int(input("Input the times you want to try:"))
x = int(input("Please guess a number:"))
cnt = int(1)
for i in range(1,bat):
    if x == ans:
        print("You Win! The random number is ",ans)
        print("\n")
        print("You have tried",cnt)
        break
    if x<ans:
        print("Too Small")
        x = int(input("Please try again:"))
        print("Residue time: ",int(bat-i-1))
        cnt = cnt+1
        continue
    elif x>ans:
        print("Too large")
        x = int(input("Please try again:"))
        print("Residue time: ",int(bat-i-1))
        cnt = cnt+1
        continue
if cnt == bat:
    print("You lose!")
    print("The random number is: ",ans)
(2)变量和类型、对象

Python3中有六个标准的数据类型:
Number(数字)、String(字符串)、Tuple(元组);
List(列表)、Set(集合)、Dictionary(字典)。
前三者为不可变数据,后三者为可变数据
可以使用type()和isinstance()函数来检测数据类型。

  • Number(数字)
    含int(整数)、float(浮点数)、bool(布尔数)、complex(复数)。
点击查看代码
a = 1                # 整数
b = 1.1              # 浮点数
c = True             # 布尔数
d = 1+1j             # 复数
print(type(a), type(b), type(c), type(d))

数值运算法则
加法、减法、乘法、除法(整除)、取余、乘方、位运算等。

点击查看代码
x, y = 5, 2          # 赋值语句
print( x + y )       # 加法
print( x - y )       # 减法
print( x * y )       # 乘法
print( x / y )       # 除法(输出浮点数)
print( x // y )      # 除法(输出整数)
print( x % y )       # 取余
print( x ** y )      # 乘方
print( x | y )       # 或运算
print( x & y )       # 与运算
print( x ^ y )       # 异或运算
(3)字符串

储存字符,储存位从0位为首位,-1位末位。
如储存一个str = 'ABCDEFG'字符串,则str[0]='A',str[1]='B',str[-1]='G'。

点击查看代码
str = 'Besti'
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:4])     # 输出从第三个开始到第四个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str)
print (str + "UPUP") # 连接字符串
(4)序列
a)列表List

序列是 Python 中最基本的数据结构。
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

点击查看代码
# 列表
list1 = ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'day']
# 访问列表
print(list1[0])
print(list1[-1])
print(list1[0:2])
# 遍历列表
for i in list1:
    print(i)
# 修改列表
print("原来第四个元素:",list1[3])
list1[3] = 'Thursday'
print("现在第四个元素:",list1[3])
# 删除列表某个元素
print("原始列表:",list1)
del list1[4]
print("现在列表:",list1)
# 更新列表
list1.append('Friday')
print("更新后列表",list1)
b)元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号 ( ),列表使用方括号 [ ]。

点击查看代码
# 定义元组(可以为空元组)
tup1 = (1,2,3,4,5)
tup2 = (1,6,7)
tup3 = ()
# 访问元组
print(tup1[1])
# 遍历元组
for i in tup1:
    print(i)
# 修改元组
tup3 = tup1 + tup2
# 删除元组
del tup3
c)字典

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中

点击查看代码
# 定义字典
dic = {'name':'ljm', 'number':20214201, 'test':123}
# 打印字典
print(dic)
# 访问字典
print(dic['number'])
# 修改字典
dic['test'] = 456
# 删除字典(元素)
del dic['test']
print(dic)
# 清空字典
dic.clear()
print(dic)
d)集合

集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合。

点击查看代码
# 定义集合
set1 = {1,2,3,4,5}
set2 = {1,3,5,7,9}
set3 = {0,2,4,6}
# 打印集合
print("打印set1:",set1)
print("打印set2:",set2)
print("打印set3:",set3)
# 修改集合
set3.add(8)
print("打印set3:",set3)
# 删除集合
set2.remove(9)
print("打印set2",set2)
# 计算集合元素个数
print("计算set1元素个数",len(set1))
# 判断某元素是否在集合内
if 1 in set3:
    print("1在set3")
else:
    print("1不在set3")
# 集合之间的关系
print("set1-set2:",(set1-set2))
print("set1&set2:",(set1&set2))
print("set1|set2:",(set1|set2))
print("set1^set2:",(set1^set2))
(5)缩进和注释

上文代码中包含了缩进和注释的相关内容。
缩进:使代码更加富有逻辑性、美观性、易读性。
注释:便于自己和他人阅读代码时了解该行(段)代码的作用。

4.掌握git技能。

通过将PyCharm的代码推送到Gitee上实现代码开源、云储存、云协作等操作。

  • 新建仓库
    image

  • 配置仓库文件
    image

  • 配置Git环境(初始化)
    image

  • 在PyCharm中配置Git和Gitee环境
    image

    image

    image

    image

    image

  • 提交并推送文件
    image

    image

    image

由于在配置时出现了一些问题,经过修改后得以解决,将仓库名和文件名进行了更改,但不影响文件上传和修改。

3. 实验过程中遇到的问题和解决过程

  • 问题1:PyCharm未激活

  • 问题1解决方案:通过万能的网络搜索激活码输入激活码后进行激活。

  • 问题2:Git文件提交选项灰色,无法选择提交

  • 问题2解决方案:新建项目后问题得以解决。目测是在配置文件时,上传Github与Gitee发生了矛盾。

  • 问题3:Git文件提交后,Gitee码云仓库不显示

  • 问题3解决方案:目测是上传到了Github中。在设置中的插件栏里搜索Gitee安装Gitee插件,重启PyCharm,在插件里登录Gitee账号。在Gitee网站上安装SHH公钥。在PyCharm最上方菜单选项栏中选择VCS(GIT),Gitee,Share Project on Gitee,新建仓库后,选择上传文件,提交文件,推送文件。

其他(感悟、思考等)

由于本人具有浅薄的编程基础(C++),对于理解上述Python基本概念上并无太大障碍,唯一遇到困难的就是配置gitee环境时的相关问题(已解决)。
Python相对于C++的语法更加简单,并且序列的四个类型简化了变量的储存方式,便于程序更高效的运行。
(若精力有限将更新Pyhton与C++部分基本语法的对比)

Gitee码云仓库链接:实验一

参考资料

posted on 2022-03-18 11:48  刈心  阅读(636)  评论(2编辑  收藏  举报