Python工时计算器改写

改写成面向对象的形式,创建类,在类中设定好属性和方法,再以类为模版创建一个实例对象,实现任务。

img

img


# 请直接运行并体验代码
import math


class Calculator:
    # 变量key代表循环运行程序的开关
    key = 1
    print('欢迎使用工作量计算小程序!')

    def __init__(self):
        choice = input('请选择计算类型: (1- 工时计算,2- 人力计算)')
        if choice == '1':
            self.size = float(input('请输入项目大小: (1代表标准 大小,请输入小数) '))
            self.number = int(input('请输入人力数量: (请 输入整数) '))
            self.time = None
        if choice == '2':
            self.size = float(input('请输入项目大小: (1代表 标准大小,请输入小数)'))
            self.number = None
            self.time = float(input('请输入工时数量: (请输入小数)'))

    # 完成计算的函数
    def estimated(self):

        # 人力计算
        if (self.number == None) and (self.time != None):
            self.number = math.ceil(self.size * 80 / self.time)
            print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数里为: %d人' %
                  (self.size, self.time, self.number))
        # 工时计算
        elif (self.number != None) and (self.time == None):
            self.time = self.size * 80 / self.number
            print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为: %.1f个' %
                  (self.size, self.number,  self.time))
    
    # 询问是否继续的函数
    def again(self):
        a = input('是否继续计算?继续请输入y,输入其他键将结束程序。')
        if a != 'y':
            # 如果用户不输入y',则把key赋值为0
            Calculator.key = 0
            print('感谢使用工作量计算小程序!')


# 主函数
if __name__ == '__main__':
    while Calculator.key == 1:
        demo = Calculator()
        demo.estimated()
        demo.again()

1块钱的改写真的好吗

你需要改写,也得发下代码啊,你直接发截图。不太合适吧