Python脚本不生成输出
我的任务是读取用户输入的值(使用while循环),然后将它们存储在列表/数组中,同时使用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
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参考书或资源可以参考吗?这对学习至关重要。教程和快速介绍有很多空白。耶,这太棒了