C/C++教程

UCB CS 61A - If Function vs Statement

本文主要是介绍UCB CS 61A - If Function vs Statement,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!