我是Python的新手,当输入不是长度为21的字符串时,如果设计一个显示错误消息的函数的文献很困惑。这是最新的排列不起作用。例如,对于长度为19的字符串,它不会返回正确的错误消息。我的背景不在comp sci中,因此对此有任何帮助以及对其工作原理的解释会有所帮助。谢谢
test = "test_string_for_slice"
test2 = "test_string_for_"
def stringSlice(x):
if type(x) != str:
raise Exception("The input is not a string.")
elif len(x) != 21:
raise ValueError("The input is not exactly 21 characters.")
else:
slice1 = x[0:6]
slice2 = x[6:12]
slice3 = x[13:]
return slice1, slice2, slice3
stringSlice(test)
stringSlice(test2) #this should return an error but does not
答案 0 :(得分:1)
当您打算使用occCode
时,似乎您正在使用变量x
。
def stringSlice(x):
if type(x) != str:
raise Exception("The input is not a string.")
elif len(x) != 21: #Note this is where things got changed!!!
raise ValueError("The input is not exactly 21 characters.")
else:
slice1 = x[0:6]
slice2 = x[6:12]
slice3 = x[13:]
return slice1, slice2, slice3