Задача 1
Программа делает всё, что требовалось Афанасию: рассчитывает количество материала, необходимое для строительства восьми кубов. А если понадобится сделать три куба или десять?
Сделайте программу более универсальной, измените её так, чтобы в неё можно было передать не только сторону куба, но и количество кубов. Для этого понадобится второй аргумент в функции calc_cube()
Измените строку, в которой объявляется функция calc_cube(): добавьте второй аргумент (назовите его, например, amount).
В тех строках функции calc_cube(), где используется число кубов, используйте значение переменной amount.
В строке, которую печатает функция, выводится количество кубов; там тоже потребуется вывести значение переменной amount.
Моё решение
# Функция для вычисления периметра кубов.
def calc_cube_perimeter(side):
return side * 12
# Функция для вычисления площади кубов.
def calc_cube_area(side):
one_face = side * side
cube_area = one_face * 6
return cube_area
# Дополните объявление функции:
# теперь должна принимать два параметра -
# длину ребра куба и количество кубов.
# Функция для вычисления периметра куба.
def calc_cube_perimeter(side):
return side * 12
# Присвойте переменной one_cube_perimeter значение,
# которое вернёт функция calc_cube_perimeter() с аргументом 3:
# 3 метра - это длина ребра куба.
one_cube_perimeter = calc_cube_perimeter(3)
def calc_cube (side, amount):
# Вызываем функцию, рассчитывающую периметр
# и передаём в неё размер куба
one_cube_perimeter = calc_cube_perimeter(side)
# Здесь вместо многоточия должна стоять переменная,
# хранящая количество кубов, переданное во втором аргументе.
full_length = one_cube_perimeter * 8
full_length = one_cube_perimeter * amount
# Вызываем функцию, рассчитывающую площадь стекла
# и передаём в неё размер куба
one_cube_area = calc_cube_area(side)
# Здесь вместо многоточия должна стоять переменная,
# хранящая количество кубов, переданное во втором аргументе.
full_area = one_cube_area * 8
# В этой строке замените многоточие на переменную, хранящую количество кубов
print('Для', full_area, 'кубов понадобится палок (м):', full_length, 'и стекла (кв.м):', full_area)
# Для проверки работы кода вызываем функцию с двумя аргументами:
# 3 - это размер ребра куба,
# 2 - это необходимое количество кубов
calc_cube(3, 2)
Пишет ошибку за ошибкой.
Последняя
Traceback (most recent call last):
File "main.py", line 42, in <module>
NameError: name 'one_cube_area' is not defined
Помогите сделать!
Программа делает всё, что требовалось Афанасию: рассчитывает количество материала, необходимое для строительства восьми кубов. А если понадобится сделать три куба или десять?
Сделайте программу более универсальной, измените её так, чтобы в неё можно было передать не только сторону куба, но и количество кубов. Для этого понадобится второй аргумент в функции calc_cube()
Измените строку, в которой объявляется функция calc_cube(): добавьте второй аргумент (назовите его, например, amount).
В тех строках функции calc_cube(), где используется число кубов, используйте значение переменной amount.
В строке, которую печатает функция, выводится количество кубов; там тоже потребуется вывести значение переменной amount.
Моё решение
# Функция для вычисления периметра кубов.
def calc_cube_perimeter(side):
return side * 12
# Функция для вычисления площади кубов.
def calc_cube_area(side):
one_face = side * side
cube_area = one_face * 6
return cube_area
# Дополните объявление функции:
# теперь должна принимать два параметра -
# длину ребра куба и количество кубов.
# Функция для вычисления периметра куба.
def calc_cube_perimeter(side):
return side * 12
# Присвойте переменной one_cube_perimeter значение,
# которое вернёт функция calc_cube_perimeter() с аргументом 3:
# 3 метра - это длина ребра куба.
one_cube_perimeter = calc_cube_perimeter(3)
def calc_cube (side, amount):
# Вызываем функцию, рассчитывающую периметр
# и передаём в неё размер куба
one_cube_perimeter = calc_cube_perimeter(side)
# Здесь вместо многоточия должна стоять переменная,
# хранящая количество кубов, переданное во втором аргументе.
full_length = one_cube_perimeter * 8
full_length = one_cube_perimeter * amount
# Вызываем функцию, рассчитывающую площадь стекла
# и передаём в неё размер куба
one_cube_area = calc_cube_area(side)
# Здесь вместо многоточия должна стоять переменная,
# хранящая количество кубов, переданное во втором аргументе.
full_area = one_cube_area * 8
# В этой строке замените многоточие на переменную, хранящую количество кубов
print('Для', full_area, 'кубов понадобится палок (м):', full_length, 'и стекла (кв.м):', full_area)
# Для проверки работы кода вызываем функцию с двумя аргументами:
# 3 - это размер ребра куба,
# 2 - это необходимое количество кубов
calc_cube(3, 2)
Пишет ошибку за ошибкой.
Последняя
Traceback (most recent call last):
File "main.py", line 42, in <module>
NameError: name 'one_cube_area' is not defined
Помогите сделать!