我正在编写一个程序,它接受用户输入并打印出用户输入的均值和方差。如果用户输入负整数,我希望程序崩溃。我尝试了几种不同的方法,但似乎没有用。这是我到目前为止所拥有的
userlist = []
for i in range():
num = userlist.append(float(input("Enter a number: ")))
print("Mean is", float(mean(userlist)), "Variance is ")
print()
for j in range():
num = userlist.append(float(input("Enter a number: ")))
print("Mean is", float(mean(userlist)),
"Variance is ", variance(userlist, xbar=0))
print()
答案 0 :(得分:2)
这个答案假设您根本不需要任何负值。请注意,由于Python的append
方法没有返回任何值,因此您的代码无法将输入的值正确地输入到列表中。将值放入列表中,如下所示:
num = float(input("Enter a number: "))
userlist.append(num)
每次找到num
的值后,执行语句
if num < 0:
raise ValueError('Negative values not allowed!')
这会为
提升standard exception当内置操作或函数接收到具有的参数时 正确的类型,但不恰当的价值,情况不是 由更准确的异常描述,例如IndexError。
如果程序中没有异常处理程序,程序将崩溃。如果此异常存在异常处理程序,则应对其进行适当处理。
如果您确实要禁止负整数但允许其他负浮点值,请使用
if num < 0 and num.is_integer():
raise ValueError('Negative integer values not allowed!')