使用从一个函数返回到另一个Python

时间:2017-02-12 22:58:56

标签: python python-3.x python-3.5

这是我的代码:

def options():
    wanted_float = float(input("Wanted Float: "))
    specificity = float(input("How close to float (ex: .001): "))
    low_output = float(input("Min Float of Output Skin: "))
    high_output = float(input("Max Float of Output Skin: "))
    needed_average = ((wanted_float-low_output)/(high_output-low_output))
    print("Needed average: ", needed_average)
    only_lower = input("Only show floats lower than previous? yes/no: ")
    which = input("Would you like to load floats manually or automatically? (manual/automatic): ")
    return which

def mode(which):
    if (mode == 'manual'):
        print("Manual")

    if (mode == 'automatic'):
        print("automatic")

def start():
    options()
    mode(which)

start()

然而,我一直在收到错误。我查看了其他一些处理此问题的回复,但它们似乎并不适用于此。

Wanted Float: .5
How close to float (ex: .001): .001
Min Float of Output Skin: 0
Max Float of Output Skin: 1
Needed average:  0.5
Only show floats lower than previous? yes/no: yes
Would you like to load floats manually or automatically? (manual/automatic): manual
Traceback (most recent call last):
  File "C:\Users\.Anderson\Documents\Python\floats\organized.py", line 172, in <module>
    start()
  File "C:\Users\.Anderson\Documents\Python\floats\organized.py", line 161, in start
    mode(which)
NameError: name 'which' is not defined

它说第172行和第161行的原因是因为我之间有很多其他代码,但我只是在启动时调用选项和模式,这是当前所有代码所做的

1 个答案:

答案 0 :(得分:2)

问题是你没有保存options()函数的返回。

你可以像模式(options())或者其中= options();模式(其)