提耶利亚 哈利路亚 2022-11-27 19:59 采纳率: 90%
浏览 83
已结题

Python工时计算器改写

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

img

img

  • 写回答

3条回答 默认 最新

  • 这次真没糖 2022-11-27 22:07
    关注
    
    # 请直接运行并体验代码
    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()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月27日
  • 已采纳回答 11月27日
  • 赞助了问题酬金15元 11月27日
  • 赞助了问题酬金1元 11月27日
  • 展开全部

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度