大家好我正在尝试设计一个代码,该代码从用户那里获取产品代码然后切成两部分,它们的关键部分是第一部分,因为第一部分从索引0到3(不包括3虽然)必须在大写字母中。 所以我创建了这段代码:
code=input("Enter a product code: ")
def test(code):
set1=test[0 : 3]
set2=test[3 : 8]
if set1.isupper():
print("Correct Code")
test(code)
现在这个代码的问题是当我运行它时出现了这个错误:
set1=test[0 : 3]
TypeError: 'function' object is not subscriptable
任何人都知道为什么这个错误会不断出现?我只是输入了一个虚假的值,如:HHHH343GG3,但它发生了,
请告诉我您的想法和建议。谢谢。
答案 0 :(得分:0)
您正在呼叫set1=test[0 : 3]
而不是set1=code[0 : 3]
。
code
是传入的参数,test
是您要调用的函数的名称:
>>> test
<function test at 0x1003bcae8>
>>> code
'foo'
>>> test[0:3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'function' object is not subscriptable
>>> code[0:3]
'foo'
>>>
以下是您编辑的代码:
code=input("Enter a product code: ")
def test(code):
set1=code[0 : 3]
set2=code[3 : 8]
if set1.isupper():
print("Correct Code")
test(code)