2/19/2022 9:33 PM In this post I will keep my progress on the python section of Hacker Rank updated. So far everything is pretty easy, but I am only a few programming challenges in. I think that I might go for the certification.
2/19/2022 10:38 PM Overall I think that that went very well. I began learning about something new towards the end, sets. I didn’t understand them very much at all for a bit, but I think I’ve got the basics down. I’m going to take a break for tonight and work on something else.
2/20/2022 3:34 PM I am going to work on some more Hacker Rank now. I find that my problem often is that I don’t understand the question. Not that I can’t do it.
2/20/2022 3:58 PM I just found a pretty cool way to remove duplicates from a list without using a set.
A = [2,3,4,4,4,5,5,6]
B = []
for i in A:
if i not in B:
B.append(i)
Output
[2,3,4,5,6]
2/20/2022 4:16 PM This one was actually quite tricky. I thought that my way was really bad, but after looking up how to do it online, in comparison my solution is quite clean. I will note that I was not allowed to use dictionaries to solve this problem. That could have saved some loops.
#Print the name(s) of any student(s) having the second lowest grade in.
#If there are multiple students, order their names alphabetically and print each one on a new line.
if __name__ == '__main__':
list = []
for _ in range(int(input())):
temp = []
name = input()
score = float(input())
temp.append(name)
temp.append(score)
list.append(temp)
scorelist = []
for i in list:
scorelist.append(i[1])
newscorelist = []
for i in scorelist:
if i not in newscorelist:
newscorelist.append(i)
newscorelist.sort()
seclow = newscorelist[1]
seclownames = []
for i in list:
if i[1] == seclow:
seclownames.append(i[0])
seclownames.sort()
for i in seclownames:
print(i)
2/20/2022 5:00 PM Here’s another one I did! This time it is working with dictionaries. Pretty cool stuff!
'''
The provided code stub will read in a dictionary containing key/value pairs of name:[marks] for a list of students.
Print the average of the marks array for the student name provided, showing 2 places after the decimal
Sample input:
3
Krishna 67 68 69
Arjun 70 98 63
Malika 52 56 60
Malika
'''
if __name__ == '__main__':
n = int(input())
student_marks = {}
for _ in range(n):
name, *line = input().split()
scores = list(map(float, line))
student_marks[name] = scores
query_name = input()
query_scores = student_marks[query_name]
answer = sum(query_scores) / len(query_scores)
print(f"{answer:.2f}")
# Output: 56.00