Desperate struggle667 2022-10-13 12:25 采纳率: 76.2%
浏览 52
已结题

python中for循环range()的问题

在python中遇到一共for循环和range的问题
为啥结果d=0呀?不应该是0 1 2 吗?哪里出问题了?

def euclidean_distance(one_sample, x):
    k=x.shape[0]
    print(k)
    print("中心点",x)
    print("样本",one_sample)
    for d in range(k):
        print("d",d)
        print("单个样本",one_sample)
        print("中心",x[d])
        distances= np.sum((x[d]-one_sample)**2)
        print("距离",distances)
        return distances

运行结果是:
3
中心点 [[4.8 3.1 1.6 0.2]
 [6.7 3.  5.  1.7]
 [5.1 3.5 1.4 0.2]]
样本 [5.9 3.  5.1 1.8]
d 0
单个样本 [5.9 3.  5.1 1.8]
中心 [4.8 3.1 1.6 0.2]
距离 16.029999999999998
  • 写回答

3条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-10-13 12:35
    关注

    最后的return语句要拿到for循环外面,不然循环一次就结束了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月13日