Write a function char_counts(string) that takes a string as a parameter and returns a dictionary in which the keys are the unique characters in string
(a) Write a function top_students(marks) that takes as a parameter a non-empty list of (name, mark) tuples, where name is the name of a student (a string) and mark is the student's mark for some course (an int). The function returns a list of the names of all students whose mark equals that of the top student. If there is just a single student with the maximum mark, the return value will be a list of length 1, as in the first example in the table below. The names in the return list should be in the same order as in the input parameter list.
Test Result
marks = [('Beatrice', 50), ('Nerly', 90), ('Uniza', 70)] print(top_students(marks)) | ['Nerly'] |
marks = [('Beatrice', 80), ('Nerly', 75), ('Uniza', 66), ('Joshua', 80)] print(top_students(marks)) | ['Beatrice', 'Joshua'] |
(b) Write a function char_counts(string) that takes a string as a parameter and returns a dictionary in which the keys are the unique characters in string and the associated values are the counts of those characters, how often they occurred in string. The order of the keys in the returned dictionary must be the order in which the numbers first appear in string.
Test Result
say = "Cheesee!'' print(char_counts(say)) |
{'C': 1, 'h': 1, 'e': 2, 's': 1, 'e': 2, '!': 1} |
(c) Use the accumulator pattern to write a function concatenate(strings) that takes a list of strings as a parameter and returns a single string formed by concatenating all the strings.
Test Result
print(concatenate(["a", "bb", "ccc"])) | abbccc |
-Thanks
Step by step
Solved in 3 steps with 3 images