Решить задачи в Программирование на языке Python Шеф-повар отправился на рынок за покупками. Он купил пять килограмм баклажанов по Х рублей за килограмм, и четыре килограмма лука по Y рублей за килограмм. Сколько он потратил денег, если еще он купил сумку за три рубля? Напишите программу, которая спросит Х и Y и выведет ответ. Гусеница отправилась в поход. Она проползает 2 метра за 45 минут. Световой день, когда она может передвигаться, составляет Х часов. Введите количество дней Y и определите, как далеко от дома, в километрах, окажется Гусеница. Чтобы подковать лошадь, нужно 4 подковы. М подмастерьев изготовили N подков каждый. Но лошадей очень много, на всех подков не хватит. Напишите программу, которая спросит N и M и ответит, останется четное или нечетное число подков после того, как всех лошадей подкуют готовыми подковами. Гусеницы (а длина каждой гусеницы G см) решили построить мост через овраг: каждая Гусеница держит во рту палочку длиной А см. Первая Гусеница цепляется за правый берег хвостом, вторая цепляется хвостом за её палочку. Последняя Гусеница ничего во рту не держит, она уцепилась за корешок липы на левом берегу. Введите количество гусениц (Х) и посчитайте длину моста в метрах. На плоскости заданы координаты концов отрезка: X1,Y1 для первой точки и X2,Y2 для второй точки. Напишите программу, которая спросит эти значения и ответит, будут ли этот отрезок параллелен оси X или оси Y. Если отрезок параллелен любой из осей, программа должна написать «да», если ни одной, то «нет».
--- Python 3.8.3 ---
#1 - file mdir.py
import os
import sys
import difflib
__all__ = ['CreateEmptyDir', 'RmDir']
__here__ = os.path.dirname(os.path.realpath(__file__))
#Функция, создающая папки
def CreateEmptyDir(count, path = __here__):
try:
for i in range(count):
rpath = path + f'\\dir_{i}'
os.mkdir(rpath)
except OSError:
print(f'Failed to create directory {path}')
#Функция, удаляющая папки
def RmDir(mask, path = __here__):
try:
for folder in os.listdir(path):
s = difflib.SequenceMatcher(None, mask, folder)
if s.ratio() > 0.8:
f = path + '\\' + folder
if os.path.isdir(f):
os.rmdir(f)
except OSError as e:
print(f'Failed to remove directory {f}\n{e}')
#Вызов функций из модуля
def main():
CreateEmptyDir(10)
next = input()
RmDir('dir_')
if __name__ == "__main__":
main()
#2 - file randchoise.py
import random
__all__ = ['RandChoise']
def RandChoise(lst):
if len(lst) == 0: return None
return random.choice(lst)
def main():
data = [1,2,3,4]
print(RandChoise(data))
if __name__ == "__main__":
main()
#3 main.py
from mdir import *
from randchoise import *
import time
def main():
CreateEmptyDir(10)
time.sleep(3) #Что бы успели прогрузиться созданные папки
RmDir('dir_')
print(RandChoise([1,2,3,4,5,6,7,8,9,2,1,32,31,2540]))
if __name__ == "__main__":
main()
Длина стороны может быть определена как расстояние между соответствующими сторонами треугольника:
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
type
Point=record
x,y:real
end;
procedure GetPoint(c:char;var M:Point);
begin
Write('Введите координаты точки ',c,': ');
Read(M.x,M.y)
end;
function Dist(a,b:Point):=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));
begin
var A,B,C:Point;
GetPoint('A',A); GetPoint('B',B); GetPoint('C',C);
var ab:=Dist(A,B);
var bc:=Dist(B,C);
var ac:=Dist(A,C);
if (ab<bc+ac) and (bc<ab+ac) and (ac<ab+bc) then
Writeln('Треугольник существует')
else Writeln('Треугольник не существует')
end.
Тестовое решение:
Введите координаты точки A: -6.9 -5.3
Введите координаты точки B: 0 11.4
Введите координаты точки C: 9 3
Треугольник существует