Python脚本不生成输出

Python脚本不生成输出,python,python-3.x,Python,Python 3.x,我的任务是读取用户输入的值(使用while循环),然后将它们存储在列表/数组中,同时使用try:except:确定给定的输入是否无效。在继续中,如果用户输入“完成”作为一个值,它将中断循环并打印()所有插补值的总和、总和和平均值 到目前为止,我已经收到了这个片段: class Input: def __init__(self, number_input_value, total_to_be_calculated, main_value): self.numbe

我的任务是读取用户输入的值(使用while循环),然后将它们存储在列表/数组中,同时使用
try:except:
确定给定的输入是否无效。在继续中,如果用户输入“完成”作为一个值,它将
中断循环并
打印()
所有插补值的总和、总和和平均值

到目前为止,我已经收到了这个片段:

class Input:
      def __init__(self, number_input_value, total_to_be_calculated, main_value):
            self.number_input_value = 0
            self.total_to_be_calculated = 0.0
            self.main_value = input('Enter A Number: ')
            self.number_input_value1 = float(self.main_value)

      def loop_get_inputs(self):
            while True:
                  self.main_value
                  if self.main_value == 'done':
                        break
                  try :
                        self.number_input_value1
                  except :
                        print('INVAL["VAL"]')
                        continue
                  self.number_input_value = self.number_input_value1
                  self.total_to_be_calculated = self.total_to_be_calculated + self.number_input_value1

            print ("Finished successfully!")
            print (
              self.total_to_be_calculated,
              self.number_input_value,
              self.total_to_be_calculated/self.number_input_value
            )

if __name__ in '__main__':
      Input
      
我不知道出了什么问题,因为当它运行时,它什么也不输出

输出:

>>>

您需要创建类“Input”的实例并调用该方法:

##(self, number_input_value, total_to_be_calculated, main_value)

inp = Input(100, 1000, 10) 
#call the method
inp.loop_get_inputs()
基本上:
1-在使用类/对象之前,必须对其进行初始化。
2-不建议在构造上使用代码。您应该调用类的公共方法来启动“进程”。
3-那次尝试没有什么效果。例如,您可以将字符串(从
input()
)环绕到float,如果无法转换输入,则打印无效。
4-您可以使用
+=
简化
a=a+b

5-lower()将用户输入转换为小写,这意味着DONE、DONE和DONE(etc)将被视为“退出”输入

这有意义吗

class Input:
    def __init__(self):
        self.number_inputs = 0
        self.total = 0.0

    def run(self):
        self.__get_user_values()
        print(f"total: '{self.total}'")
        print(f"number_inputs: '{self.number_inputs}'")
        print(f"average: '{self.total / self.number_inputs}'")

    def __get_user_values(self):
        while True:
            value = input('Enter A Number: ')
            if value.lower() == 'done':
                break

            if self.__is_valid_input(value):
                self.total += float(value)
                self.number_inputs += 1

    def __is_valid_input(self, value) -> bool:
        try:
            float(value)
            return True
        except ValueError:
            print('INVAL["VAL"]')
            return False


if __name__ in '__main__':
    input_wrapper = Input()
    input_wrapper.run()


对于正在学习的人来说,这是一个很好的问题,但也表明你缺少一些基础知识。你有好的Python参考书或资源可以参考吗?这对学习至关重要。教程和快速介绍有很多空白。耶,这太棒了