def rate_f(movies):
if len(dictionary[movies]) == 0:
return True
def film_in_dictionary(movies):
if movies in dictionary:
return True
else:
return False
def average(movies):
mean = 0
for key2 in dictionary[movies].keys():
mean += dictionary[movies][key2]
print(f'{movies} средняя оценка: {mean / len(dictionary[movies])}')
dictionary = {}
while True:
command = input('Введите команду: ')
if command != 'exit' and command != 'list' and command != 'add' and command != \
'delete' and command != 'rate' and command != 'find':
print('Error')
continue
if command == 'exit':
break
if command == 'list':
for key in dictionary.keys():
if rate_f(key):
print(f'{key} не оценивался')
else:
average(key)
continue
film = input('Введите название фильма: ')
if command == 'add':
if film_in_dictionary(film):
print('Error')
else:
dictionary[film] = {}
elif command == 'delete':
if film in dictionary:
del dictionary[film]
else:
print('Error')
elif command == 'rate':
name = input('Имя пользователя: ')
rate = float(input('Оценка: '))
if 0 < rate <= 10:
dictionary[film][name] = rate
else:
print('Error')
elif command == 'find':
if rate_f(film):
continue
for name, rate in dictionary[film].items():
print(f'{name} поставил оценку: {rate}')
average(film)
Поделитесь своими знаниями, ответьте на вопрос:
Описать функцию otr(ax, bx, ay, by) вещественного типа находящию длину отрезка ab на плоскасти по координатам его концов |ab|=(ax-bx)2+(ay-by)2 (ax, ay, bx, by)- вещественны параметры) с этой функции найти длины отрезков ab, ac, ad, если с клавиатуры заданы координаты точек, a, b, c, d.
function Otr(Ax, Bx, Ay, By: real) :=
Sqrt(Sqr(Bx - Ax) + Sqr(By - Ay));
begin
var Ax, Ay, Bx, By, Cx, Cy, Dx, Dy: real;
Readln(Ax, Ay, Bx, By, Cx, Cy, Dx, Dy);
Writeln('|AB|=', Otr(Ax, Bx, Ay, By));
Writeln('|AC|=', Otr(Ax, Cx, Ay, Cy));
Writeln('|AD|=', Otr(Ax, Dx, Ay, Dy))
end.
Пример2.3 3.09 -4.2 6 8.5 -3 4 0|AB|=7.12166413136705|AC|=8.69069042136469|AD|=3.52676905963518