我的程序有一个运行时错误,但我想不出来。问题出在哪里?如果您能帮助我,将不胜感激!:)下面是代码:
P.S.我对蟒蛇有点陌生!谢谢你的帮忙!
import math
n = input()
for a in range(n):
x, y = input().split()
num = math.sqrt(x**2+y**2)
print(num)发布于 2020-08-19 04:46:15
函数input()返回一个字符串。函数split()返回字符串列表。不能使用字符串执行任何数学操作。在执行任何操作之前,您必须转换为正确的类型。
尝试:
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)发布于 2020-08-19 04:50:31
你至少有两个错误。
第一个是您的输入被保留为一个字符串。您应该使用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)https://stackoverflow.com/questions/63480062
复制相似问题