20231428刘彦泽实验二报告

20231428刘彦泽 2024-03-31 19:08:00

 

学号 20231428 《Python程序设计》实验2报告

课程:《Python程序设计》
班级: 2314
姓名: 刘彦泽
学号:20231428
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课

1.实验内容

(1)设计并完成一个完整的python程序,完成加、减、乘、除、取模、乘方等运算

(2)可以统计计算的次数

(3)额外设置答题模式,可以进行答题检验正误的操作。

2. 实验过程及结果

(1)对应用功能进行规划;

(2)创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行;

(3)代码托管到码云。

 

实验过程

 import sys
 
print("=================欢迎使用BESTI计算器===================")
print("||              作者: 20231428 刘彦泽               ||")
print("||              开发时间: 2024.3.29                 ||")
print("||           Copyright(c) 2024 by BESTI           ||")
print("====================================================")
 
 
def add(x, y):
    return x + y
 
 
def subtract(x, y):
    return x - y
 
 
def multiply(x, y):
    return x * y
 
 
def divide(x, y):
    return x / y
 
 
def modulus(x, y):
    return x % y
 
 
def power(x, y):
    return x ** y
 
 
def right():
    print("你答对啦!")
 
 
def wrong():
    print("你答错啦!")
 
 
score = 0
 
print("选择操作:")
print("1. 加")
print("2. 减")
print("3. 乘")
print("4. 除")
print("5. 取模")
print("6. 乘方")
print("7. 查看操作次数")
print("8. 切换到答题模式")
print("0. 退出程序")
 
while True:
    choice = input("输入你的选择(1/2/3/4/5/6/7/8/0): ")
    if choice not in ("1", "2", "3", "4", "5", "6", "7", "8", "0"):
        print("无效的选择")
 
    if choice == "7":
        print(f"您已进行了{score}次操作")
 
    if choice == "0":
        print(f"您一共进行了{score}次操作")
        sys.exit()
 
    if choice in ("1", "2", "3", "4", "5", "6"):
        num1 = float(input("输入第一个数字: "))
        num2 = float(input("输入第二个数字: "))
        if choice == "1":
            print("num1+num2=", add(num1, num2))
        if choice == "2":
            print("num1-num2=", subtract(num1, num2))
        if choice == "3":
            print("num1*num2=", multiply(num1, num2))
        if choice == "4":
            if num2 == 0:
                print("除数不能为0")
            else:
                print("num1/num2=", divide(num1, num2))
        if choice == "5":
            print("num1%num2=", modulus(num1, num2))
        if choice == "6":
            print("num2**num1=", power(num1, num2))
 
        score += 1
 
    if choice == "8":
        choice = input("您已进入答题模式,输入你的选择(1/2/3/4/5/6): ")
        num1 = float(input("输入第一个数字: "))
        num2 = float(input("输入第二个数字: "))
        answer = float(input("您的答案是:"))
        if choice == "1":
            if answer == add(num1, num2):
                right()
            else:
                wrong()
            print("num1+num2=", add(num1, num2))
        if choice == "2":
            if answer == subtract(num1, num2):
                right()
            else:
                wrong()
            print("num1-num2=", subtract(num1, num2))
        if choice == "3":
            if answer == multiply(num1, num2):
                right()
            else:
                wrong()
            print("num1*num2=", multiply(num1, num2))
        if choice == "4":
            if num2 == 0:
                print("除数不能为0")
            else:
                if answer == divide(num1, num2):
                    right()
                else:
                    wrong()
                print("num1/num2=", divide(num1, num2))
        if choice == "5":
            if answer == modulus(num1, num2):
                right()
            else:
                wrong()
            print("num1%num2=", modulus(num1, num2))
        if choice == "6":
            if answer == power(num1, num2):
                right()
            else:
                wrong()
            print("num2**num1=", power(num1, num2))
        score += 1

实验结果

img

img 

 将代码托管到码云

img

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

  • 问题1:除法中遇到除数为零如何解决?
  • 问题1解决方案:在进行除法运算前加一判断,如果检测到第二个数为0则给出提示错误信息。
  • 问题2:用户无法退出程序
  • 问题2解决方案:引入了sys库,用exit()函数退出循环。

其他(感悟、思考等)

  • 设计程序时要贴近应用场景,尽可能将每一种情况都考虑到位,才能减少bug的出现。
  • 要善用函数来减少重复代码量,使程序更清爽。

参考资料

python程序主动退出进程的方式:五种方式总有一种适合你

 

 

...全文
37 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用Python!
python3.11 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧