Start free

Intermediate · Dictionaries · 139 of 264

Stock count

A shop records deliveries (positive) and sales (negative). Print the final stock of each item, in alphabetical order, leaving out items with 0.

Input: n, then n lines "item amount". Output: one line per item: <item> <stock>

Examples

Input
4
apple 10
pear 5
apple -3
pear -5
Output
apple 7
Input
1
pen 1
Output
pen 1

One more test checks other inputs when you press Check.

Stuck? The idea behind dictionaries

A dictionary links keys to values, like words to meanings: ages["Ann"] = 12. Looking up a key is fast, however big it is.

.get(key, 0) gives a default when the key isn't there; looping over a dictionary gives its keys, .items() gives keys and values together.

counts = {}
for word in input().split():
    counts[word] = counts.get(word, 0) + 1
for word, n in counts.items():
    print(word, n)

Watch for: Reading a key that isn't there stops the program with a KeyError: check with in, or use .get().

All the dictionaries exercises
Your code
Opening the code editor…
Python 3.14 in your browser
Output
Run shows what your program prints. Check tests it on every example and the hidden tests.

More dictionaries exercises