【发布时间】:2021-07-09 19:40:29
【问题描述】:
我不知道是我写错了“line”函数还是“for”后面的最后语句中的其他内容,请帮助我。该程序是关于斜率并在这些值之间进行比较,但首先我需要找到它们,但有些东西不起作用。代码如下:
import math
N = int(input("Number of points: "))
def line(x0,y0,x1,y1):
if(x0==x1):
print("\nThe slope doesn't exist\n")
return None
if((x0-x1)!=0):
m = (y1-y0)/(x1-x0)
return m
for i in range(N):
for j in range(N):
ind = None
for ind in range(N):
x_ind = {}
y_ind = {}
x_ind[i] = float(input("Enter x_" + str(ind) + ": "))
y_ind[j] = float(input("Enter y_" + str(ind) + ": "))
for _ in range(math.factorial(N-1)):
line(x_ind[i], y_ind[j], x_ind[i+1], y_ind[j+1])
【问题讨论】:
-
什么不起作用?
-
请通过一些示例测试提供您的错误
-
啊,我可以看到您经常会点击
KeyError,因为您迭代了列表的末尾(实际上是一本字典)。这段代码甚至试图做什么?为什么它不对line的返回值做任何事情,为什么它要求N^3个值然后迭代它们中的阶乘(N-1)? -
感谢回答,好吧我不知道为什么line函数不起作用,阶乘(N-1)是我处理的问题
-
请接受左侧带有绿色复选标记的答案...如果它是您正在寻找的。span>
标签: python function count keyerror