weixin_45490561 2020-04-01 17:47 采纳率: 0%
浏览 133

大佬们帮忙看一下这个未定义的错误

创建了两个函数一个是最大公约数的一个是最小图片说明
公倍数的,最大公约数的函数不报错,最小公倍数的函数就出现这如图错误

def gongyueshu(x, y):
    """该函数返回两个数的最大公约数"""
    # 获取最小值
    #danan必须声明才成为全局变量要不然会抱错
    global daan
    if x > y:
        smaller = y
    else:
        smaller = x
    for i in range(1, int(smaller) + 1):
        if ((x % i == 0) and (y % i == 0)):
            daan=i
    return daan

def gongbeishu(a,b):
#声明daan2为全局变量
global daan2
if a > b:
a, b = b, a
for i in range(1, a*b):
if b * i % a == 0:
daan2=(b*i)
break
return daan2

  • 写回答

1条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2024-01-16 16:57
    关注

    定义全局变量毫无意义啊,你给daan2赋值一个初始值吧,或者range(1,a*b+1)

    评论

报告相同问题?

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害