You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现让用户通过键盘输入向量元素并查询向量长度?

实现用户输入向量并查询长度的Python程序

原代码的问题

  • 完全缺失用户输入逻辑:初始x是空列表,n = len(x)结果为0,导致后续循环根本不会执行,无法获取任何向量数据
  • 代码逻辑是计算元素求和,和题目要求的「查询向量长度」不符

修正后的完整实现

以下代码会先获取用户输入的向量大小,再收集对应数量的元素,最后计算并输出向量的欧几里得长度(模长)(如果需要的是元素个数,直接输出向量大小即可):

print("你好!欢迎使用向量工具")

# 获取合法的向量大小(正整数)
while True:
    try:
        vec_size = int(input("请输入向量的大小:"))
        if vec_size > 0:
            break
        print("请输入大于0的正整数!")
    except ValueError:
        print("输入无效,请输入整数!")

# 收集向量元素
vector = []
for idx in range(vec_size):
    while True:
        try:
            element = float(input(f"请输入向量的第{idx+1}个元素:"))
            vector.append(element)
            break
        except ValueError:
            print("输入无效,请输入数字!")

# 计算向量的欧几里得长度(模长)
import math
vec_length = math.sqrt(sum(e**2 for e in vector))

# 输出结果
print(f"\n你输入的向量:{vector}")
print(f"向量的元素个数:{vec_size}")
print(f"向量的欧几里得长度:{round(vec_length, 2)}")

代码说明

  1. 输入校验:通过try-except循环确保用户输入的向量大小是正整数,元素是有效数字,避免程序崩溃
  2. 元素收集:根据用户指定的大小,循环收集对应数量的元素存入列表
  3. 长度计算:利用数学公式计算向量模长——各元素平方和的平方根,用round()保留两位小数提升可读性
  4. 结果输出:清晰展示输入的向量、元素个数和模长

内容的提问来源于stack exchange,提问作者Juan Peña

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:51:19