【问题标题】:Functions and value-returning函数和返回值
【发布时间】:2017-07-12 16:27:31
【问题描述】:

所以我很难掌握返回函数,只是询问是否有人可以帮助解决这个问题,也许我所拥有的书没有深入解释返回函数,或者我只是不完全理解。我想向用户询问以公斤为单位的距离,然后将其传递给另一个函数以计算以英里为单位的距离。

def kilo(distance):
    distance = int(input('what is the distance'))
    return distance


def miles(trav):
    travel=kilo(trav) * 0.6214
    print(travel)
    return travel

【问题讨论】:

  • 你忘记了右括号。
  • 那些不是“返回函数”,而是“返回语句”。
  • 您遇到的具体问题是什么?你有没有打电话给miles
  • 为了记录,Python中的所有函数都是实际函数,即它们有返回值。如果您不显式返回值,您的函数将隐式返回None。这与其他通常较旧的语言不同,它们区分返回某些内容的“函数”和不返回任何内容但产生副作用的“子例程”。

标签: python function return


【解决方案1】:

如果您想询问用户输入然后将其传递给英里,您可以这样做

def kilo():
    distance = int(input('what is the distance'))
    return distance


def miles():
    travel=kilo() * 0.6214
    print(travel)
    return travel

miles_distance = miles()

kilo 函数,当在miles 函数中调用时,会询问用户距离然后返回。然后,英里函数将使用该距离来计算和返回行程。然后将值 travel 保存在 miles_distance 变量中

【讨论】:

    【解决方案2】:

    要使用该函数,您应该调用它们。您首先定义它们,然后使用所需的参数调用它们。

    def kilo():
        distance = int(input('what is the distance '))
        return distance
    
    def miles(kms):
        travel = kms * 0.6214
        return travel
    
    kilometers_traveled = kilos()
    miles_traveled = miles(kilometers_traveled)
    
    # printing the results:
    print("distance in kilometers traveled:", kilometers_traveled)
    print("distance in miles traveled:", miles_traveled)
    
    # or shorter:
    miles_traveled = miles(kilos())
    

    这两个函数不一定需要任何参数,因为您在kilos 中要求input() 中的变量。但是当然有多种方法可以解决这个问题,使用参数kms,您可以使用该函数作为公里到英里的转换器。

    【讨论】:

    • 如果我想说在底部打印英里()并从函数内部取出打印行程,谢谢您的响应
    • 虽然可以说将公里数传递给miles 并让它根据其参数进行转换而不是要求用户输入输入可能是更好的形式。
    • @dc13 查看更新,函数返回一个值,您可以将其存储到变量中,然后您可以稍后打印。
    • 好吧,你可以再做一件事,把距离作为参数传递给英里,然后说旅行 = 距离 * 0.6214,然后从那里出发
    • @dc13 这正是正在发生的事情。 miles 需要一段距离(或者我称之为:kms(公里))
    【解决方案3】:
    # kilo function to accept distance from user
    def kilo():
        distance = int(input('what is the distance'))
        # pass the distance to miles function and save the return value in the variable distance_miles
        distance_miles = miles(distance)
        print(distance_miles)
    
    # miles function to accept distance in kilometers and return distance in miles  
    def miles(trav):
        travel = trav * 0.6214
        return travel
    
    # Call the kilo function    
    kilo()
    

    你可以像上面那样定义2个函数。

    代码执行流程是

    1. kilo() 行调用kilo 函数

    2. kilo 函数接受与用户的距离并存储在变量“距离”中

    3. kilo 调用带有参数“距离”的英里函数

    4. miles 函数将公斤转换为英里,并将变量 'travel' 中的值返回给公斤函数

    5. 返回给kilo函数的值保存在变量'distance_miles'中并打印在控制台上

    【讨论】:

      猜你喜欢
      • 2010-11-22
      • 2011-07-22
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多