CBSE Class 11 Computer Science Question 110 of 112

Dictionaries — Question 10

Back to all questions
10
Question

Question 10

Write a program that checks if two same values in a dictionary have different keys. That is, for dictionary D1 = { 'a' : 10, 'b': 20, 'c' : 10}, the program should print 2 keys have same values and for dictionary D2 = {'a' : 10, 'b' : 20, 'c' : 30} , the program should print No keys have same values.

Solution
D1 = eval(input("Enter a dictionary D1: "))
print("D1 =", D1) 

val = tuple(D1.values())
seen = []
flag = True

for i in val:
    if i not in seen:
        seen.append(i)
        count = val.count(i)
        if count > 1:
            print(count, "keys have same value of", i)
            flag = False

if flag:
    print("No keys have same values")
Output
Enter a dictionary D1: {'a': 10, 'b': 20, 'c': 10, 'd': 40, 'e': 10, 'f': 20}
D1 = {'a': 10, 'b': 20, 'c': 10, 'd': 40, 'e': 10, 'f': 20}
3 keys have same value of 10
2 keys have same value of 20
Answer