python 中的运行时错误 - 计算 pyth。理论

Runtime error in python - calculating pyth. theorem

我的程序有一个运行时错误,但我无法弄清楚。问题在哪里?如果你能帮助我,我将不胜感激! :) 这是代码:

P.S。我是 python 的新手!感谢您的帮助!

import math
n = input()
for a in range(n):
    x, y = input().split()
    num = math.sqrt(x**2+y**2)
print(num)

函数input() returns一个字符串。函数 split() returns 一个字符串列表。您不能使用字符串进行任何数学运算。在执行任何操作之前,您必须转换为正确的类型。

尝试:

import math
n = input()
for a in range(int(n)):
    x, y = input().split()
    x, y = float(x), float(y) # for example, it can be int as well
    num = math.sqrt(x**2+y**2)
    print(num)

您至少有两个错误。

首先是您的输入保留为字符串。您应该使用 n = int(input())n = float(input())

进行转换

第二个是你有一个运行时错误: ValueError: not enough values to unpack (expected 2, got 1) 这是您输入的结果。您正试图将该输入打包成两个单独的值。但是,同样,你只有一个。

我觉得你要找的更像这样:

import math
x = float(input())
y = float(input())

num = math.sqrt(x**2+y**2)
print(num)

但这可以进一步缩短为:

x = float(input())
y = float(input())

print((x**2+y**2)**.5)