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.

"""
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
"""

def if_function(condition, true_result, false_result):
    if condition:
        return true_result
    else:
        return false_result

"""
>>> result = with_if_statement()
47
>>> print(result)
None
"""

def with_if_statement():
    if cond():
        return true_func()
    else:
        return false_func()

"""
>>> result = with_if_function()
42
47
>>> print(result)
None
"""

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