关于python:如何在外部使用def函数的变量?

How do I use variables of my def function outside?

本问题已经有最佳答案,请猛点这里访问。

抱歉,我找不到一个更好的表达我的意思不是,所以基本上我正在尝试创建一个脚本,自动完成一个数学问题,但现在我卡住了,无法在论坛上找到一个好的答案。

这里是它的样子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
print("That's how you type the function : f(x) = a*sin(b(x-h))+k
Don't use space!"
)
print("If the value of the variable is unknown type 'None'")
import math
def start():
    y= input("y =")
    sct = input("sin, cos, tan =")
    a= input("a =")
    b= input("b =")
    x= input("x =")
    h= input("h =")
    k= input("k =")
    print("So if I understand here the problem you want to solve")
    print(y,"=",a,sct,"(",b,"(",x,"-" ,h,"))",k)
    QUA = input("Yes or No? :")
    if QUA =="Yes":
            print("Good")
    elif QUA =="No":
        start()
start()

所以我一直在问一个问题,如果你说"是",它会继续剧本。如果你说"不",它会回到start()。所以当我尝试在这之后使用变量的时候,它只是说

1
2
3
4
5
>>> print(y)
Traceback (most recent call last):
  File"<pyshell#34>", line 1, in <module>
    print(y)
NameError: name 'y' is not defined

帮助任何人?


您返回它,否则它在您的函数范围之外是不可访问的。

1
2
3
4
5
6
def start():
    y = input("y =")
    return y

y = start()
print(y)

如果需要多个返回值,可以返回多个。

1
2
3
4
5
6
def start():
    x = input("x =")
    y = input("y =")
    return x, y

x, y = start()