weixin_65228302 2023-03-26 16:09 采纳率: 28.6%
浏览 14

python编写主函数的小问题

老是出现 a=create1(n)
NameError: name 'create1' is not defined
到底是怎么回事


import time
class LinkNode:  # 单链表结点类
    def __init__(self, data=None):  # 构造函数

        self.size = None
        self.data = data
        self.next = None
        self.head = LinkNode()
        self.head.next = None

    def create1(self, a):  # 建立顺序表
        a = []
        for i in range(0, len(a)):
            self.data[self.size] = a[i]

    def Append(self, item):  # 插入元素item在表尾
        self.data.append(item)

    def create2(self, n):  # 尾插法建立单链表
        h = LinkNode()
        t = self.head
        for i in range(0, len(n)):
            s = LinkNode(n[i])
            t.next = s
            t = s
        t.next = None

    def reverse1(a):  # 求顺序表逆置的时间
        t1 = time.time()  # 获取开始时间
        i, j = 0, len(a) - 1
        while i < j:
            a[i], a[j] = a[j], a[i]
            i, j = i + 1, j - 1
        t2 = time.time()  # 获取结束时间
        return t2 - t1

    def reverse2(self, h):  # 求单链表表逆置的时间
        t1 = time.time()  # 获取开始时间
        if h is None or h.next is None:
            return
        c = h.next.next
        h.next.next = None
        while c is not None:
            p = c.next
            c.next = h.next
            h.next = c
            c = p
        t2 = time.time()  # 获取结束时间
        return t2 - t1

from LinkNode import LinkNode
if __name__ == '__main__':
    n=10000000                                             #主程序
    a=create1(n)
    h=create2(n)
    print()
    print("  求解结果")
    print("  顺序表逆置时间: %.2f" %(reverse1(a)))
    print("  单链表逆置时间: %.2f" %(reverse2(h)))
print()


  • 写回答

2条回答 默认 最新

  • IT_service_mesh 2023-03-26 16:32
    关注

    参考GPT和自己的思路:在主程序中,你调用了函数create1create2,但是这两个函数并没有在主程序所在的文件中定义,因此在运行程序时会出现NameError: name 'create1' is not defined的错误。你需要将create1create2函数的定义代码放在与主程序同一个文件中,或者在主程序中导入包含create1create2函数定义的模块。另外,create1函数似乎并没有按照预期的功能来实现,可能需要检查是否有问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月26日

悬赏问题

  • ¥15 结构功能耦合指标计算
  • ¥20 visual studio中c语言用ODBC链接SQL SERVER
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询