类和标识符python

2024-09-30 10:41:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序有问题,我按照下面的指示,这是我告诉我的一切。你知道吗

该类应包括: 1.数据字段关键字列表,包含所有Python关键字的列表;数据字段应从关键字.kwlist. 你知道吗

2.一个名为addKeyword(kw)的方法,该方法应将另一个关键字kw添加到关键字列表中;如果kw已经在列表中,则该方法不应执行任何操作。你知道吗

3.一个名为isLegalId(name)的方法,如果name是合法的Python标识符(不是关键字,遵循命名规则),则返回True,否则返回False。你知道吗

试验程序应:

1.创建PythonIdentifier类型的对象。你知道吗

2.如果下列词语是合法的Python标识符,请报告:CMPSC、yield、who、3letters、132、。你知道吗

3.向对象添加新的“关键字”。你知道吗

4.报告单词\uuuuuu是否是合法的Python标识符。你知道吗

import keyword
class Pythonidentifier:
    def __init__(self,keywordlist):
       keywordlist=keyword.kwlist
       self.keywordlist= keywordlist
    def getgetkeywordList(self):
        return self.keywordlist
    def addkeyword(self,kw):
        if kw not in self.getkeywordList:
            self.getkeyword.append(kw)
        return
    def isLegalId(name):
        Truth=name.isidentifier
        return Truth
def main():
    """
    """
    try:    
        name=["CMPSC", "yield", "_who_", "3letters", "132", "__"]
        for i in name:
            print((name[i]))
            print("Input a keyword")
            newkeyword=input(">")
            if "".isLegalId(newkeyword)==True:    
                "".addkeyword(newkeyword)
            else:
                print("The keyword suggested isn't a proper identifier, please try again.")
            print("Here is the list of identifiers.")
            print()
    except:
        print("Something went wrong!")

    return
main()

每次运行程序时,我都会得到except语句(错误消息)


Tags: 方法nameself程序列表returndef关键字
2条回答

以我的名义: 打印((名称[i])) 这导致了异常,您的i名称不是索引,请将其更改为

for i in name:
            print(i)

您的代码中有多处出错。我会指出一些错误给你,因为这似乎是一个家庭作业:

for i in name:
    print((name[i]))

在这个循环中,i将包含列表的值,而不是索引。你知道吗

if "".isLegalId(newkeyword)==True:    
    "".addkeyword(newkeyword)

在这里,您试图访问为Pythonidentifier类创建的方法,但是要通过一个string对象(它不是Pythonidentifier类型,请参见任务1)

你班上的一些错误:

getgetkeywordList(self)

  • 我相信你想叫它getkeywordList

addkeyword(self,kw)中:

  • self.getkeywordList不是有效的函数调用!你知道吗
  • self.getkeyword.append(kw)getkeyword是一个方法,您想将值附加到什么?你知道吗

isLegalId(name)

  • 没有self参数?你知道吗
  • name.isidentifier同样不是函数调用,也可能不是您要寻找的功能。你知道吗

相关问题 更多 >

    热门问题