Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 4
1

Попробуйте написать функцию, которая делает то же самое, что и конструкция if

09.10.2016, 22:47. Показов 1769. Ответов 6
Метки нет (Все метки)

Попробуй написать функцию, которая делает то же самое, что и конструкция if.
def if_function(condition, true_result, false_result):
"""Возвращает true_result если условие condition истинно и false_result в противном случае.

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

В действительности эта функция не во всех случаях идентична конструкции if. Для доказательства этого факта напишите функции c, t и f так, что with_if_statement возвращает число 1, а with_if_function не возвращает.
def with_if_statement():
if c():
return t()
else:
return f()

def with_if_function():
return if_function(c(), t(), f())

def c():
"*** ТВОЙ КОД ЗДЕСЬ ***"

def t():
"*** ТВОЙ КОД ЗДЕСЬ ***"

def f():
"*** ТВОЙ КОД ЗДЕСЬ ***"
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2016, 22:47
Ответы с готовыми решениями:

Что делает данная конструкция
конструкция CurrentDb.Execute ("Create UNIQUE index 'Код товара' on Товар (Код товара);"...

Что делает эта конструкция -> ?
Простите за глупый вопрос, но меня интересует что делает конструкция -> в php скрипте, например...

Что делает конструкция c get и set
что делает код public int Index { get; set; } ? Хочу сказать что хорошо знаком с ООП на примере...

Что делает данная конструкция?
int x = 5; 0 = x + x; Что она делает, как называется и зачем используется?

6
2730 / 2333 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
11.10.2016, 00:50 2
jasp, даю подсказку, тут надо использовать логические операции.
0
Эксперт Python
4543 / 1969 / 354
Регистрация: 17.03.2012
Сообщений: 9,892
Записей в блоге: 5
12.10.2016, 08:29 3
Лучший ответ Сообщение было отмечено jasp как решение

Решение

Как вариант:
Python
1
2
def if_function(condition, true_result, false_result):
    return [false_result, true_result][condition]
1
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 4
25.12.2019, 16:38 4
Если задача сложнее и нужно найти исключения?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def if_function(condition, true_result, false_result):
    if condition:
        return true_result
    else:
        return false_result
 
def with_if_statement():
    """
    >>> result = with_if_statement()
    2
    >>> print(result)
    None
    """
    if c():
        return t()
    else:
        return f()
 
def with_if_function():
    """
    >>> result = with_if_function()
    1
    2
    >>> print(result)
    None
    """
    return if_function(c(), t(), f())
 
def c():
    "*** ТВОЙ КОД ЗДЕСЬ ***"
 
def t():
    "*** ТВОЙ КОД ЗДЕСЬ ***"
 
def f():
    "*** ТВОЙ КОД ЗДЕСЬ ***"
0
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 4
26.12.2019, 11:42 5
Сам справился
Python
1
2
3
4
5
6
7
8
def c():
    return 0
 
def t():
    print(1)
 
def f():
    print(2)
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
30012 / 16484 / 3341
Регистрация: 12.02.2012
Сообщений: 27,443
Записей в блоге: 5
26.12.2019, 11:53 6
user_123, что это???
0
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 4
26.12.2019, 13:14 7
То, что необходимо подставить.

Добавлено через 1 минуту
Я задал вопрос и сам на него ответил
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2019, 13:14

Что делает данная конструкция?
Подскажите пожалуйста что происходит в данной ситуации: Add_Click?.Invoke(sender, e); Так...

Что делает конструкция (params[] args) => { }
button.HandleDestroyed += new EventHandler((s, args) => { MessageBox.Show("HandleDestroyed"); });...

Что делает и как работает конструкция while ... do?
Пожалуйста, простыми понятиями что делает и как работает конструкция while ... do

Что делает конструкция (Mat_<float>(1,2) << i,j)
Привет, всем:-) Имеется конструкция: for (int i = 0; i &lt; image.rows; ++i) { for (int j =...

Написать функцию, которая в строке, переданной в качестве аргумента, выделяет самое длинное предложение (будем считать,
Написать функцию, которая в строке, переданной в качестве аргумента, выделяет самое длинное...

написать рекурсивную функцию, которая взводит число в степень путем многократного умножения числа на самое себя.
Помогите написать программу , которая запрашивает два числа (1-ое число, 2 -показатель его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.