def students_credits(*args):
dictionary = {}
credits_collected = 0
for course in args:
course_split = course.split('-')
course_name = course_split[0]
max_course_credits = int(course_split[1])
max_test_points = int(course_split[2])
diyan_points = int(course_split[3])
percentage_test_diyan = diyan_points/max_test_points
current_diyan_credit = max_course_credits * percentage_test_diyan
credits_collected += current_diyan_credit
dictionary[course_name] = current_diyan_credit
result = ''
if credits_collected >= 240:
result += f"Diyan gets a diploma with {credits_collected:.1f} credits.\n"
else:
diff = 240 - credits_collected
result += f"Diyan needs {diff:.1f} credits more for a diploma.\n"
sorted_dictionary = dict(sorted(dictionary.items(), key=lambda x: -x[1]))
for el, score in sorted_dictionary.items():
result += f'{el} - {score:.1f}\n'
return result