Python 使用函数的返回值
我最近开始编程,从python开始。我的问题是:如何在另一个函数中使用一个函数的结果Python 使用函数的返回值,python,function,return,return-value,Python,Function,Return,Return Value,我最近开始编程,从python开始。我的问题是:如何在另一个函数中使用一个函数的结果 def eklid(p, a, b,): x = [1, 0] y = [0, 1] r = [a, b] q = [0] n = 0 while r[n+1] != 0: q.append(r[n] // r[n+1]) r.append(r[n] % r[n+1]) x.append(x[n] - x[n+1]
def eklid(p, a, b,):
x = [1, 0]
y = [0, 1]
r = [a, b]
q = [0]
n = 0
while r[n+1] != 0:
q.append(r[n] // r[n+1])
r.append(r[n] % r[n+1])
x.append(x[n] - x[n+1] * q[n+1])
y.append(y[n] - y[n+1] * q[n+1])
if p == 0:
print(r[n], "=", r[n+1], "*", q[n+1], "+", r[n+2])
elif p == 1: # extended print
print(r[n+2], "\t", x[n+2], "\t", y[n+2], "\t", r[n+2], "=", a, "*", x[n+2], "+", b, "*", y[n+2])
elif p == -1:
k =1
else:
print("wrong input")
n += 1
return x, y, r, q, n,
我有这个函数eklid()
,我想在这个函数中使用它的x
和r
:
def cong_solv(x, r, b,):
result = x/r
int_result = int(result)
return int_result
我该怎么做
# Here, a=x, b=y, c=r, d=q, e=n
a, b, c, d, e = eklid(h, i, k)
# Assuming based on your function definitions you want the
# same value as the third argument
final_result = cong_solv(a, c, k)
您可以从eklid
获取返回值,并将其保存到变量中。然后使用这些变量调用下一个函数
当然,在实际代码中,您应该比我在本例中更好地命名变量。我故意没有调用与函数内相同的变量名称,以证明您不必这样做。一种方法是从cong_solv()函数内调用eklid()函数。像这样的方法应该会奏效:
def cong_solv(x, r, b):
p = "foo"
b = "bar"
x, y, r, q, n = eklid(p, a, b)
result = x/r
int_result = int(result)
return int_result
近似
在python中,当您返回多个变量时,它将返回一个元组。 您可以通过索引(返回的值[0],返回的值[1])来检索该值,或者像Mike Driscoll所说的(a,b,c,d=eklid(h,i,k))那样解包元组 因为我得到了两张反对票,我将给你们更好的(我希望)解释: 每次返回多个值时,它都会返回一个值 这样,您可以按照在my_函数中返回的相同顺序获得返回值 重写代码时,您只需执行以下操作:
a, b, c = eklid(10, 20, 30) # it will return a tuple
并调用其他函数:
cong_solv(a, b, 20)
return d # d = {"what_x_means": x,
# "what_y_means": y,
# "what_r_means": r,
# "what_q_means": q,
# "what_n_means": n}
老实说,我会给你一个回信。使用dict可以显式,因为您的值有键名
在eklid返回函数中:
cong_solv(a, b, 20)
return d # d = {"what_x_means": x,
# "what_y_means": y,
# "what_r_means": r,
# "what_q_means": q,
# "what_n_means": n}
并检索其密钥:
d["what_x_means"]
d["what_r_means"]
有理由否决投票吗?我是第一个说它返回一个元组的人。警察不知道这样的事。我认为这是他的问题的目的。将你的答案与获得选票的答案进行比较,并注意差异。第一个回答并不意味着你的答案是最好的。顺便说一句,鉴于OP的知识水平,在OP中引入一个新术语而不解释其含义可能并不理想。你的部分答案只是重复了另一个人在答案中所说的话,这并不是特别有用。
d["what_x_means"]
d["what_r_means"]