There are twelve people that have won four big yearly American entertainment prizex: Emmy, Grammy, Oscar en Tony. Winning these four awards is also called EGOT (or sometimes GATE, since the official name of an Oscar is actually an Academy Award) or the Grand Slam of showbiz. These awards honor excellent performances on the fields of television, music (or other audio-recordings), film and theater.
name | EGOT completed | Emmy | Grammy | Oscar | Tony |
---|---|---|---|---|---|
Richard Rodgers1 | 1962 (17 jaar) | 1962 | 1960 | 1945 | 1950 |
Helen Hayes2 | 1977 (45 jaar) | 1953 | 1977 | 1932 | 1947 |
Rita Moreno3 | 1977 (16 jaar) | 1977 | 1972 | 1961 | 1975 |
John Gielgud4 | 1991 (30 jaar) | 1991 | 1979 | 1981 | 1961 |
Audrey Hepburn5 | 1994 (41 jaar) | 1993 | 1994 | 1953 | 1954 |
Marvin Hamlisch6 | 1995 (23 jaar) | 1995 | 1974 | 1973 | 1976 |
Jonathan Tunick7 | 1997 (20 jaar) | 1982 | 1988 | 1977 | 1997 |
Mel Brooks8 | 2001 (34 jaar) | 1967 | 1998 | 1968 | 2001 |
Mike Nichols9 | 2001 (40 jaar) | 2001 | 1961 | 1967 | 1964 |
Whoopi Goldberg10 | 2002 (17 jaar) | 2002 | 1985 | 1990 | 2002 |
Scott Rudin11 | 2012 (28 jaar) | 1984 | 2012 | 2007 | 1994 |
Robert Lopez12 | 2014 (10 jaar) | 2008 | 2012 | 2014 | 2004 |
The acronym EGOT was used for the first time by actor Philip Michael Thomas when he revealed his ambition to win these four awards. Until today, however, he was never nominated for either of these awards, but he did win a People's Choice Award and he was nominated for the Golden Globe. Three other persons — Barbra Streisand, Liza Minelli and James Earl Jones — have won these four awards, but one of them was granted outside of the competition as a kind of honour (Streisand's Tony, Minnelli's Grammy and Jones' Oscar). From the twelve othe winners there are two — Marvin Hamlisch and Richard Rodgers — that have captured the Pulitzerprize.
The following persons each have won three of the four big entertainment awards in competitive categories. Winning three out of four awards is also called 3GOT (witticism to the term EGOT). The four possible combinations are called EGO, TOE, GOT and GET.
Write a function grandslam to which a dictionary must be given, that portrays the name of a prize on a collection of names of the people who have won that prize. The function must print the names of the persons that have won all awards from the given dictionary.
Write a function showoff to which two arguments must be given: the name of a person and the dictionary that portrays a name of a prize on the names of the persons who have won that prize. The function must print a string that corresponds with one of the following classifications of the given person:
yep: the person has won all awards from the given dictionary
close (no prize): the person has won all awards except for one; the name of the prize the person has not (yet) won, must be printed in the place of prize in the string that is printed by the function.
nope: according to the given dictionary, the person has not (yet) won at least two awards out of four.
>>> awards = {
... 'Emmy':{'Audrey Hepburn', 'Cyndi Lauper', 'Ingrid Bergman', 'Marvin Hamlisch', 'Robin Williams'},
... 'Grammy':{'Audrey Hepburn', 'Cyndi Lauper', 'Elton John', 'Marvin Hamlisch', 'Robin Williams'},
... 'Oscar':{'Audrey Hepburn', 'Elton John', 'Ingrid Bergman', 'Marvin Hamlisch', 'Robin Williams'},
... 'Tony':{'Audrey Hepburn', 'Cyndi Lauper', 'Elton John', 'Ingrid Bergman', 'Marvin Hamlisch'}
... }
>>> grandslam(awards)
{'Audrey Hepburn', 'Marvin Hamlisch'}
>>> showoff('Audrey Hepburn', awards)
'yep'
>>> showoff('Elton John', awards)
'close (no Emmy)'
>>> showoff('Ingrid Bergman', awards)
'close (no Grammy)'
>>> showoff('Philip Michael Thomas', awards)
'nope'
>>> awards = {
... 'Emmy':{'Audrey Hepburn', 'Cyndi Lauper', 'Ingrid Bergman', 'Marvin Hamlisch', 'Robin Williams'},
... 'Grammy':{'Audrey Hepburn', 'Cyndi Lauper', 'Elton John', 'Marvin Hamlisch', 'Robin Williams'},
... 'Oscar':{'Audrey Hepburn', 'Elton John', 'Ingrid Bergman', 'Marvin Hamlisch', 'Robin Williams'},
... 'Tony':{'Audrey Hepburn', 'Cyndi Lauper', 'Elton John', 'Ingrid Bergman', 'Marvin Hamlisch'},
... 'Pulitzer':{'Marvin Hamlisch', 'Richard Rodgers'}
... }
>>> grandslam(awards)
{'Marvin Hamlisch'}
>>> showoff('Marvin Hamlisch', awards)
'yep'
>>> showoff('Audrey Hepburn', awards)
'close (no Pulitzer)'
>>> showoff('Elton John', awards)
'nope'