Python 在用于计算标准差的程序中出现SyntaxError
问题描述
我想制作一个能够计算任意数量输入数据的标准差的程序。为了实现这一目标,输入数量必须是无限的,但在尝试实现时,我一直遇到这个错误。
我尝试使用while循环,并设置条件,即如果输入属于类 (“”, “q”, “quit”, “end”, “stop”, “s”),程序就会停止运行;如果输入是一个整数,程序将把输入添加到预定义的列表中。
我尝试的代码如下。
#THE AIM OF THIS CODE IS TO MAKE A PROGRAM THAT CALCULATES THE STANDARD DEVIATION OF A GIVEN SET OF INTEGERS
numbers = [ ]
while True:
value = (input("Enter Number: "))
#Asks for input
if value.lower in ("", "q", "quit", "end", "stop", "s"):
break
#Instructs the program to break if the value of the input is any of these
elif value.isdigit():
numbers.append(int(value))
else:
print("Invalid entry, enter only integers")
print(numbers)
我已经整理出错误了,但现在如果我输入”quit”,程序会返回消息”无效输入,请仅输入整数”,这是输入不符合前述语句条件时的情况。
解决方案
你的代码对我来说是有效的,除非需要退出循环:即使我传递q
或类似的字符。
这是因为你的代码缺少()
来调用lower
。应该是:
if value.lower() in ("", "q", "quit", "end", "stop", "s")