首页 > 其他 > 详细

UCB CS 61A - If Function vs Statement

时间:2021-09-13 11:17:08      阅读:43      评论:0      收藏:0      [点我收藏+]

Problem

Let‘s write a function that does the same thing as an if statement.

def if_function(condition, true_result, false_result):
    """
    Return true_result if condition is a true value, 
    and false_result otherwise.

    >>> if_function(True, 2, 3)
    2
    >>> if_function(False, 2, 3)
    3
    >>> if_function(3==2, 3+2, 3-2)
    1
    >>> if_function(3>2, 3+2, 3-2)
    5
    """
    if condition:
        return true_result
    else:
        return false_result


def with_if_statement():
    """
    >>> result = with_if_statement()
    47
    >>> print(result)
    None
    """
    if cond():
        return true_func()
    else:
        return false_func()


def with_if_function():
    """
    >>> result = with_if_function()
    42
    47
    >>> print(result)
    None
    """
    return if_function(cond(), true_func(), false_func())

Despite the doctests above, this function actually does not do the same thing as an if statement in all cases. To prove this fact, write functions cond, true_func, and false_func such that with_if_statement prints the number 47, but with_if_function prints both 42 and 47.


Solution

def cond():
    return False


def true_func():
    print(42)


def false_func():
    print(47)

UCB CS 61A - If Function vs Statement

原文:https://www.cnblogs.com/stO-Orz/p/15260367.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!