20212211 2021-2022-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2122
姓名: 彭派
学号:20212211
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课

1.实验内容

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

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

2. 实验过程及结果

一、实验过程

(1)运用while if语句设计一个简单普通的计算器

解魔方仿真 python_解魔方仿真 python

(2)运用if语句实现加减乘除、取余取商、指数运算

解魔方仿真 python_操作数_02

(3)运用complex实现复数的运算

解魔方仿真 python_操作数_03

(4)进制转换

解魔方仿真 python_操作数_04

(5)运行

解魔方仿真 python_进制转换_05


解魔方仿真 python_进制转换_06

二、实验结果
代码如下

print ("besti-2目计算器!你值得拥有")
import math
flag=True
while flag==True:
    choice=int(input("请选择您想要的计算器:1为普通计算器、2为复数计算器、3为进制转换计算器,0为退出\n"))
    result=0
    if choice==0:
        print("再见,欢迎下次使用")
        break
    elif choice==1:
        print("您使用的是普通计算器")
        a=float(input("请输入操作数a(分数请转换为小数)\n"))
        b=float(input("请输入操作数b(分数请转换为小数)\n"))
    elif choice == 2:
        print("您使用的是复数计算器")
        a= complex(input("请输入第一个复数,形式为几加上几j\n"))
        b= complex(input("请输入第二个复数\n"))
    elif choice == 3:
        print("您使用的是进制转换计算器\n请您选择进行何种转换:\n")
        jz=int(input("1十进制数转换、2转换为十进制"))
        if jz==1:
            zh=int(input("请输入要转换为什么进制(数字)"))
            c=int(input("请输入操作数"))
            if zh==2:
                result=bin(c)
            elif zh==8:
                result = oct(c)
            elif zh==16:
                result = hex(c)
            else :
                print("输入有误,请重新输入\n")
                continue
        elif jz==2:
            zh=int(input("请输入从什么进制转换(数字)"))
            c=input("请输入操作数")
            if zh==2:
                result=int(c,2)
            elif zh==8:
                result =int(c,8)
            elif zh==16:
                result = int(c,16)
            else :
                print("输入有误,请重新输入\n")
                continue
        print (result)
        continue


    op = input("请输入需要做的操作(+、-、*、/、(取余)%、(取商)//、指数运算):")
    if op=="+":
        result=a+b
    elif op=="-":
        result=a-b
    elif op=="*":
        result=a*b
    elif op=="/":
        result=a/b
    elif op=="%":
        result=a%b
    elif op=="//":
        result=a//b
    elif op == "指数运算":
        result = pow(a,b)
    else:
        print("输入有误,请重新输入\n")
        continue
    print(a,op,b,'=',result,"\n")


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

  • 问题1:不知道如何用python实现指数运算
  • 问题1解决方案:网上查找资料
  • 问题2:代码因为缩进错误出现问题
  • 问题2解决方案:通过debug调试发现问题,调整代码
  • 问题3:无法正常识别输入的错误运算符号
  • 问题3解决方案:调整代码顺序

其他(感悟、思考等)

代码的调试需要自己去做,过程很心累,调成功了,看到自己做出来的东西会很有成就感。
初学有很多不会的东西,还好网上一搜就能找到,虽然有的时候也看不懂......
学习就是这样一个从不懂到理解的过程,至少我现在会做一个简易计算器了!