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