w3resource

Python Exercise: Print subject name and marks in order of its first occurrence

Python Collections: Exercise-6 with Solution

Write a Python program that accept name of given subject and marks. Input number of subjects in first line and subject name, marks separated by a space in next line. Print subject name and marks in order of its first occurrence.

Sample Solution:

Python Code:

import collections, re
n = int(input("Number of subjects: "))
item_order = collections.OrderedDict()
for i in range(n):
   sub_marks_list = re.split(r'(\d+)$',input("Input Subject name and marks: ").strip())
   subject_name = sub_marks_list[0]
   item_price = int(sub_marks_list[1])
   if subject_name not in item_order:
       item_order[subject_name]=item_price
   else:
       item_order[subject_name]=item_order[subject_name]+item_price
           
for i in item_order:
   print(i+str(item_order[i]))

Sample Output:

Powered by 
Number of subjects:  3
Input Subject name and marks:  Bengali 58
Input Subject name and marks:  English 62
Input Subject name and marks:  Math 68
Bengali 58
English 62
Math 68 

Flowchart:

Python Collections: Print subject name and marks in order of its first occurrence.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program that accept some words and count the number of distinct words. Print the number of distinct words and number of occurrences for each distinct word according to their appearance.
Next: Write a Python program to create a deque and append few elements to the left and right, then remove some elements from the left, right sides and reverse the deque.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz


Python: Tips of the Day

Returns False if the provided function returns True for at least one element in the list, True otherwise

Example:

def tips_none(lst, fn=lambda x: x):
  return all(not fn(x) for x in lst)

print(tips_none([0, 1, 2, 0], lambda x: x >= 2 ))
print(tips_none([0, 0, 0]))

Output:

False
True