Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将另一个函数的返回值调用到新函数中?_Python_Function_Return - Fatal编程技术网

Python 如何将另一个函数的返回值调用到新函数中?

Python 如何将另一个函数的返回值调用到新函数中?,python,function,return,Python,Function,Return,我只是有一个函数有点问题。我写了一个函数: def dep(): d = int(input("when did the employee depart? Please enter response in military time 0 - 2400 ")) while (d < 0 or d > 2400): d= int(input("Please enter a valid number ")) return d def dep(): d=int(输入(“

我只是有一个函数有点问题。我写了一个函数:

def dep():
  d = int(input("when did the employee depart? Please enter response in military time 0 - 2400 "))
  while (d < 0 or d > 2400):
      d= int(input("Please enter a valid number "))
return d
def dep():
d=int(输入(“员工何时离开?请在军事时间0-2400输入响应”))
而(d<0或d>2400):
d=int(输入(“请输入有效数字”))
返回d
在后面的函数中,我需要值d。如图所示:

def mealDep(): 
  dep = dep() 

  if dep <= 700 and dep > 0:
def mealDep():
dep=dep()
如果dep为0:

我现在知道,我不能只调用dep()并将其赋值给变量,但如何获取返回的值呢?

我去清理了几个错误,并使其他事情更好地实践。除了使用
dep=…
隐藏您自己的函数之外,还有一些其他的事情,比如不能安全地使用用户输入。希望这有帮助

def get_departure_time():  # verbosity is GOOD 99% of the time

    while True:
        # Get the raw input first
        departure_time = input("When did the employee depart? Please enter response in military time 0 - 2400:")

        # THEN validate. This prevents your code from breaking from type conversion
        try:
            departure_time = int(departure_time)
            assert departure_time > 0 and departure_time < 2400

            break # Breaks out of the infinite loop, and returns below

        except (ValueError, AssertionError):
            print("Please enter response in military time 0 - 2400.")
            continue

    return departure_time

def meal_dep(): #  snek_case > camelback case
    departure_time = get_departure_time() 

    if departure_time <= 700 and departure_time > 0:
        ...
def get_DEVIATION_time():#详细性在99%的情况下都很好
尽管如此:
#首先获取原始输入
离职时间=输入(“员工什么时候离职?请在军事时间0-2400输入响应:”)
#然后验证。这可以防止代码因类型转换而中断
尝试:
出发时间=int(出发时间)
断言出发时间>0且出发时间<2400
break#跳出无限循环,并在下面返回
除了(ValueError、AssertionError):
打印(“请在军事时间0-2400输入响应。”)
持续
返回出发时间
def fine_dep():#snek_case>camelback case
出发时间=获取出发时间()
如果起飞时间为0:
...

虽然您不应该执行
dep=dep()
,因为这样会重新分配名称
dep
,但您可以执行
somevar=dep()
。还要检查return语句的缩进。它目前不在函数中(尽管这可能只是stackoverflow显示问题)。我还建议捕获当用户输入文本而不是数字时不可避免地发生的错误。“我现在知道我不能只调用dep()并将其分配给变量”嗯,当然你可以这样做。对不起,我认为我不能。我想在网上找到它,但我从user155上看到,我不应该将变量命名为与函数相同的名称。因此,只要第二个函数中的变量与第一个函数中的返回变量同名,它就可以工作?@Jay,不,这与此无关。变量名对程序员来说很方便。如果你愿意,你可以写:
foo=get\u deposition\u time()
not\u deposition\u time=get\u deposition\u time()
,它也可以工作。