20231326 2023-2024-2 《Python程序设计》实验2
课程:《Python程序设计》
班级: 2313
姓名: 王荣盛
学号:20231326
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课
1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
源代码:
import math
print(" Welcome to use my Caculator\n")
print(" Author: Gisli\n")
print(" Email: gisliwong@outlook.com\n")
print(" Copyright © 2024 Gisli")
print("----------------------------------------------")
def add(x, y):
return x + y
def sub(x, y):
return x + y
def mult(x, y):
return x * y
def div(x, y):
return x / y
def mod(x, y):
return x % y
def power(x, y):
return x ** y
def square(x):
return math.sqrt(x)
while True:
a = eval(input("Enter num a:"))
b = eval(input("Enter num b:"))
operation = input("Enter operation(+ - * / % ^):")
if operation == "+":
print("a+b = ", add(a, b))
elif operation == "-":
print("a-b = ", sub(a, b))
elif operation == "*":
print("a*b = ", mult(a, b))
elif operation == "/":
if b != 0:
print("a/b = ", div(a, b))
else:
print("ZeroDivisionError: b is zero\n")
elif operation == "%":
print("a%b = ", mod(a, b))
elif operation == "^":
print("a^b = ", power(a, b))
else:
print("Invalid Operation\n")
q = input("Enter W to exit:")
if q == "W" or q == "w":
break
结果:
D:\Projects\python\my-program\Python\.venv\Scripts\python.exe D:\Projects\python\my-program\Python\Caculator.py
Welcome to use my Caculator
Author: Gisli
Email: gisliwong@outlook.com
Copyright © 2024 Gisli
----------------------------------------------
Enter num a:23
Enter num b:4
Enter operation(+ - * / % ^):w
Invalid Operation
Enter W to exit:e
Enter num a:23
Enter num b:4
Enter operation(+ - * / % ^):+
a+b = 27
Enter W to exit:
Enter num a:56
Enter num b:4
Enter operation(+ - * / % ^):/
a/b = 14.0
Enter W to exit:
Enter num a:567
Enter num b:4
Enter operation(+ - * / % ^):%
a%b = 3
Enter W to exit:
Enter num a:5
Enter num b:15
Enter operation(+ - * / % ^):^
a^b = 30517578125
Enter W to exit:w
进程已结束,退出代码为 0
3. 实验过程中遇到的问题和解决过程
- 问题1:控制退出的循环写法错误,本想使用flag控制退出,但是总是没写对
- 问题1解决方案:改用while True
- 问题2:设定输入W或w退出,实际上按其他建也会退出
- 问题2解决方案:or语法使用不恰当,修改就对了
- …