20242214 实验二《Python程序设计》实验报告

20242214 2024-2025-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2422
姓名: 陈冯
学号:20242214
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课

一、实验内容

  1. 设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善

    • 在VScode上编写程序并运行。

  2. 考核基本语法、判定语句、循环语句、逻辑运算等知识点

    • 编写课堂展示程序,并进行调试分析。
  3. 创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云

二、实验过程及结果

1. 设计并完成图形化多功能计算器程序

  • 步骤:
  • 在VScode中创建项目文件夹和calculator.py文件。
  • 使用tkinter库设计GUI界面,包括输入框、按钮等组件。
  • 编写按钮点击事件处理函数,实现加减乘除模等运算功能。
  • 添加异常处理机制,确保程序稳定运行。
  • 源代码:
import math
def Csum(num1,num2):
    return num1 + num2
def Csub(num1,num2):
    return num1 - num2
def Cmulti(num1,num2):
    return num1 * num2
def CDiv(num1,num2):
    if num2 == 0:
        print('除数不能为0')
        return 0
    return num1 / num2
def logab(a,b):
    return math.log(a,b)

flag = True
while flag:
    if input('请问:需要复数(1)还是整数(2)运算?') == '1':
        num1 = complex(input('请输入第一个数字:'))
        num2 = complex(input('请输入第二个数字:'))
    else:
        num1 = int(input('请输入第一个数字:'))
        num2 = int(input('请输入第二个数字:'))
    choice = input('请选择运算符(+ - * / log):')
    if choice == '+':
        print('num1 + num2 = ', Csum(num1,num2))
    elif choice == '-':
        print('num1 - num2 = ', Csub(num1,num2))
    elif choice == '*':
        print('num1 * num2 = ', Cmulti(num1,num2))
    elif choice == '/':
        print('num1 / num2 = ', CDiv(num1,num2))
    elif choice == 'log':
        print('log以',num1,'为底',num2,'的倒数 = ', logab(num2,num1))
    
    conti=input('是否继续?(Y/N)\n')
    if  conti== 'Y' or conti=='y':
        flag = True
    else:
        flag = False
print('退出程序')

import msvcrt
print('~~~~~~~@按任意键退出@~~~~~~~~')
msvcrt.getch()
  • 结果:
  • 成功实现了一个功能完善的图形化多功能计算器程序,界面友好,运算准确。

2. 考核Python基本语法及逻辑运算

  • 步骤:
  • 创建demo.py文件,编写包含判定语句、循环语句、逻辑运算等知识点的代码。
  • 在VScode中运行代码,观察输出结果。
  • 对代码进行逐步调试,分析执行过程。
  • 结果:
  • 成功展示了Python基本语法和逻辑运算的应用,加深了对知识点的理解。

3. 创建工程项目并托管代码

  • 步骤:
  • 在VScode中创建工程项目文件夹,包含calculator.py和demo.py等文件。
  • 在码云上创建新仓库,获取仓库URL。
  • 在VScode中配置Git,初始化本地仓库,添加远程仓库。
  • 提交代码到本地仓库,并推送到码云仓库。
  • 命令栏输入git add .``git commit -m "提交说明"``git push
  • 结果:
  • 成功将工程项目代码托管到码云上,实现了版本控制和代码分享。

三、实验过程中遇到的问题和解决过程

问题1:尝试使用Python和Tkinter实现的图形化多功能计算器程序,但是发现无法正确下载和使用。

问题1解决方案:

  • 首先确认Python环境已正确安装。
  • 在VScode的终端中输入pip install tkinter尝试安装Tkinter库。但需要注意的是,Tkinter通常是Python标准库的一部分,不需要单独安装。如果遇到安装问题,可能是因为Python安装不完整或版本不兼容。此时可以尝试重新安装Python或选择其他IDE。
  • 实际上,如果使用的是Windows系统,Tkinter可能已经包含在Python安装包中,但可能需要配置环境变量或确保使用的是正确的Python解释器。

问题2:尝试将文件转为exe形式输出,但程序完成后会直接闪退,难以看清最后的输出。

问题2解决方案:

  • 导入msvcrt库,用于在程序结束时等待用户按键。
  • 在程序末尾添加print('~~~~~~~@按任意键退出@~~~~~~~~')提示用户。
  • 使用msvcrt.getch()函数等待用户按键后再退出程序。

其他(感悟、思考等)

  • 通过这次实验,我深刻体会到了Python编程的灵活性和强大功能。使用Tkinter库创建图形用户界面让我对Python在GUI编程方面的应用有了更深入的了解。同时,通过调试和分析代码,我加深了对Python基本语法和逻辑运算知识点的理解。此外,将工程项目代码托管到码云上也让我学会了版本控制和代码分享的技巧。这次实验不仅提高了我的编程能力,也让我对软件开发流程有了更清晰的认识。

参考资料

posted @ 2025-03-28 21:09  chfg  阅读(24)  评论(0)    收藏  举报