Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions koans/about_bool.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def test_can_assign_bool_expressions_to_variable():
истинно выражение или ложно.
"""
a = 3 < 2
assert a == _____
assert a == False


def test_assert_accepts_bool():
Expand All @@ -41,7 +41,7 @@ def test_assert_accepts_bool():

Если в bool записана истина, то всё работает.
"""
a = 3 < __ # укажите любое число, чтобы в a было True
a = 3 < 5 # укажите любое число, чтобы в a было True
assert a


Expand All @@ -50,7 +50,7 @@ def test_can_use_not():
not превращает True в False, а False в True.
"""
a = True
assert not a == _____
assert not a == False


def test_can_use_equality_check():
Expand All @@ -59,12 +59,12 @@ def test_can_use_equality_check():

Иначе возвращает False.
"""
assert 3 + 2 == 1 + __
assert 3 + 2 == 1 + 4


def test_can_assign_equality_check_to_variable():
"""
Результат сравнения можно записывать в переменную.
"""
a = 3 + 2 == 1 + 4
assert a == __
assert a == True
16 changes: 8 additions & 8 deletions koans/about_compound_conditions.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def test_and_returns_one_of_the_operands():
значение, а значение одного из операндов.
"""
r = 'a' and 'b'
assert r == _____ # попробуйте такие варианты: True, False, 'a', 'b'
assert r == 'b' # попробуйте такие варианты: True, False, 'a', 'b'


def test_or_returns_one_of_the_operands():
Expand All @@ -16,7 +16,7 @@ def test_or_returns_one_of_the_operands():
значение, а значение одного из операндов.
"""
r = 'a' or 'b'
assert r == _____ # попробуйте такие варианты: True, False, 'a', 'b'
assert r == 'a' # попробуйте такие варианты: True, False, 'a', 'b'


def test_and_returns_first_false_operand():
Expand All @@ -26,7 +26,7 @@ def test_and_returns_first_false_operand():
Ложью в Python являются 0, '', [], (), {} и None
"""
r = 'a' and '' and []
assert r == _____ # попробуйте такие варианты: True, False, 'a', '', []
assert r == '' # попробуйте такие варианты: True, False, 'a', '', []


def test_or_returns_last_false_operand_if_all_operands_are_false():
Expand All @@ -35,36 +35,36 @@ def test_or_returns_last_false_operand_if_all_operands_are_false():
последнее такое значение.
"""
r = '' or [] or {}
assert r == _____ # попробуйте такие варианты: True, False, '', [], {}
assert r == {} # попробуйте такие варианты: True, False, '', [], {}


def test_python_supports_not_operator():
"""
В Python есть логический оператор not
"""
y = False
assert not y == _____ # попробуйте такие варианты: True, False
assert not y == True # попробуйте такие варианты: True, False


def test_and_has_higher_priority_then_or():
"""
Оператор and имеет выше приоритет, чем or
"""
r = 'a' and 'b' or []
assert r == _____ # попробуйте такие варианты: 'a', 'b', [], True, False
assert r == 'b' # попробуйте такие варианты: 'a', 'b', [], True, False


def test_not_has_higher_priority_then_and():
"""
Оператор and имеет выше приоритет, чем or
"""
r = not 'a' and 'b' or []
assert r == _____ # попробуйте такие варианты: 'a', 'b', [], True, False
assert r == [] # попробуйте такие варианты: 'a', 'b', [], True, False


def test_brackets_can_change_priority():
"""
Оператор and имеет выше приоритет, чем or
"""
r = '' and ([] or 'a')
assert r == _____ # попробуйте такие варианты: 'a', '', [], True, False
assert r == '' # попробуйте такие варианты: 'a', '', [], True, False
16 changes: 8 additions & 8 deletions koans/about_conditions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def test_start_if():
выполняется следующий блок кода
"""
a = 0 # Учимся объявлять все переменные вначале функции
if ____: # попробуйте такие варианты: TRUE, true, True
if a == 0: # попробуйте такие варианты: TRUE, true, True
a = 3
assert a == 3

Expand All @@ -19,7 +19,7 @@ def test_if_and_else():
Использование конструкции if и else
"""
a = None
if ____: # попробуйте такие варианты: FALSE, false, False
if False: # попробуйте такие варианты: FALSE, false, False
a = 0
else:
a = 1
Expand All @@ -34,7 +34,7 @@ def test_not_in_if():
или истиное в ложное
"""
a = ""
if not ____:
if not False:
a = True
else:
a = False
Expand All @@ -49,7 +49,7 @@ def test_two_if():
a = 0
if a == 0:
a = 1
if a != ____:
if a != 0:
a = 42
assert a == 42

Expand All @@ -61,7 +61,7 @@ def test_elif():
a = 0
if a != 0:
a = 1
elif ____:
elif a == 0:
a = 42
assert a == 42

Expand All @@ -71,9 +71,9 @@ def test_elif_and_else():
Исследуем работу else
необходимо заполнить условия возле if и elif чтобы сработал else
"""
if (3 > 2) == ____:
if (3 > 2) == False:
a = None
elif 3 > 2 == ____:
elif 3 > 2 == True:
a = None
else:
a = True
Expand All @@ -86,5 +86,5 @@ def test_logic():
"""
names = ['Вова', 'Леша', 'Лена', 'Света']
name = "Вова"
if __ in ____:
if name in names:
assert True
18 changes: 9 additions & 9 deletions koans/about_dictionaries.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ def test_create_dictionary_with_literal():
'a': 1,
'b': 2
}
assert dict_comparator(d, _____) # попробуйте подстваить объект вида {key1: value1, key2: value2,...}
assert dict_comparator(d, {'a': 1, 'b': 2}) # попробуйте подстваить объект вида {key1: value1, key2: value2,...}


def test_create_dictionary_with_constructor():
"""
Словарь в Python можно создать с помощью конструктора словаря
"""
d = dict(a=1, b=2)
assert dict_comparator(d, _____)
assert dict_comparator(d, dict(a=1, b=2))


def test_create_dictionary_with_list_of_tuples():
Expand All @@ -30,7 +30,7 @@ def test_create_dictionary_with_list_of_tuples():
list_of_tuples = [('a', 1), ('b', 2), ('c', 3)]
d = dict(list_of_tuples)

assert dict_comparator(d, _____)
assert dict_comparator(d, dict(list_of_tuples))


def test_get_value_by_key():
Expand All @@ -41,7 +41,7 @@ def test_get_value_by_key():
'a': 1,
'b': 2
}
assert d['a'] == _____ # попробуйте такие варианты: False, True, 1, 2
assert d['a'] == 1 # попробуйте такие варианты: False, True, 1, 2


def test_add_key_and_value_to_dictionary():
Expand All @@ -54,7 +54,7 @@ def test_add_key_and_value_to_dictionary():
}
d['c'] = 3

assert dict_comparator(d, _____)
assert dict_comparator(d, {'a': 1,'b': 2, 'c': 3})


def test_if_existing_key_in_dict():
Expand All @@ -67,7 +67,7 @@ def test_if_existing_key_in_dict():
}
var = 'a' in d

assert var == ___ # попробуйте такие варианты: False, True, 1, 2
assert var == True # попробуйте такие варианты: False, True, 1, 2


def test_if_not_existing_key_in_dict():
Expand All @@ -80,7 +80,7 @@ def test_if_not_existing_key_in_dict():
}
var = 'c' in d

assert var == ___ # попробуйте такие варианты: False, True, 1, 2
assert var == False # попробуйте такие варианты: False, True, 1, 2


def test_get_method():
Expand All @@ -93,7 +93,7 @@ def test_get_method():
}
var = d.get('c', 0)

assert var == ___ # попробуйте такие варианты: False, True, 1, 2, 0
assert var == 0 # попробуйте такие варианты: False, True, 1, 2, 0


def test_get_method_default_value():
Expand All @@ -106,4 +106,4 @@ def test_get_method_default_value():
}
var = d.get('c')

assert var == ___ # попробуйте такие варианты: False, True, 1, 2, 0, None
assert var == None # попробуйте такие варианты: False, True, 1, 2, 0, None
10 changes: 5 additions & 5 deletions koans/about_floats.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def test_can_sum_up():
Если использовать запятую, всё сломается.
"""

assert 2.5 + 1.2 == __
assert 2.5 + 1.2 == 3.7


def test_can_assign_to_variables():
Expand All @@ -18,15 +18,15 @@ def test_can_assign_to_variables():
"""
a = 2.5
b = 3.8
assert b - __ == a
assert b - 1.3 == a


def test_can_remove_real_part():
"""
У вещественных чисел можно удалять дробную часть и превращать их в целые.
"""
a = 2.1
assert int(a) == __
assert int(a) == 2


def test_has_rounding_problems():
Expand All @@ -36,11 +36,11 @@ def test_has_rounding_problems():
Так работает из-за того, как числа представляются в памяти.
"""
a = 0.1
assert a + 0.2 == __ # подсказка: тут будет не 0.3
assert a + 0.2 == 0.30000000000000004 # подсказка: тут будет не 0.3


def test_can_miss_leading_zero():
"""
Если у вещественного числа чцелая часть – ноль, то её можно не писать.
"""
assert .5 * 2 == __
assert .5 * 2 == 1.0
20 changes: 10 additions & 10 deletions koans/about_for_loop.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_for_loop():
str1 = "Python"

for letter in str1[2]:
assert letter == ___
assert letter == 't'


def test_for_loop_with_list():
Expand All @@ -37,7 +37,7 @@ def test_for_loop_with_list():
list1 = [5]

for number in list1:
assert number == ___
assert number == 5


def test_for_loop_with_range():
Expand All @@ -50,7 +50,7 @@ def test_for_loop_with_range():
for i in range(3):
sum = sum + i

assert sum == ___
assert sum == 3


def test_for_loop_with_specified_range():
Expand All @@ -64,7 +64,7 @@ def test_for_loop_with_specified_range():
for i in range(2, 5):
sum = sum + i

assert sum == ___
assert sum == 9


def test_for_loop_with_step_range():
Expand All @@ -79,7 +79,7 @@ def test_for_loop_with_step_range():
for i in range(3, 12, 3):
sum = sum + i

assert sum == ___
assert sum == 18


def test_for_loop_with_break():
Expand All @@ -93,7 +93,7 @@ def test_for_loop_with_break():
break
sum = sum + i

assert sum == ___
assert sum == 0

def test_for_loop_with_continue():
"""
Expand All @@ -107,7 +107,7 @@ def test_for_loop_with_continue():
continue
sum = sum + i

assert sum == ___
assert sum == 13

def test_for_loop_with_enumerate():
"""
Expand All @@ -124,10 +124,10 @@ def test_for_loop_with_enumerate():

list1 = ['Python']
for index, element in enumerate(list1):
assert index == ___, element == ____
assert index == 0, element == 'P'


def test_for_loop_with_enumerate_start():
def test_for_loop_with_enumerate_start():
"""
По умолчанию нумерация индексов последовательности начинается с 0, то есть
enumerate(iter) можно переписать как enumerate(iter, start=0). Можно поменять
Expand All @@ -136,4 +136,4 @@ def test_for_loop_with_enumerate_start():

list1 = ['Python']
for index, element in enumerate(list1, start=1):
assert index == ___, element == ____
assert index == 1, element == 'y'
Loading