Question: I will include the country name in the comment so that it'll be easy for you Upload your assignment to the Learning Hub at learn.bcit.ca



I will include the country name in the comment so that it'll be easy for you
Upload your assignment to the Learning Hub at learn.bcit.ca before the start of lesson 7 into the Activities Assignments Assignment1 dropbox. Ensure that every function is named as a verb, has DocString comments, follows good indentation and other style guidelines. Create three python files named data.py, main.py, and assignment1.py, with the functionality as follows. The bottom of every script must have the following guard code as the final two lines: ==' main : if name main() data.py This script has a main function that prints "I should not be called"...the main function does nothing else. This script also creates and populates the same three tuple variables that we use in lab 5. You can copy/paste the code from right here into your data.py script: # START HERE AND PASTE INTO YOUR LAB IN YOUR IDE countries_and_capitals = (['Afghanistan', 'Kabul'], ['Albania', 'Tirana (Tirane)'], ['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella'], ['Angola', 'Luanda'], ['Antigua and Barbuda', "Saint John's"), ['Argentina', 'Buenos Aires'], ['Armenia', 'Yerevan'), ['Australia', 'Canberra'], ['Austria', 'Vienna'), ('Azerbaijan', 'Baku'), ('Bahamas', 'Nassau'), ('Bahrain', 'Manama'], ['Bangladesh', 'Dhaka'], ['Barbados', 'Bridgetown'), ['Belarus', 'Minsk'], ['Belgium', 'Brussels'], ['Belize', 'Belmopan'], ['Benin', 'Porto Novo'], ['Bhutan', 'Thimphu'], ['Bolivia', 'Sucre'], ['Bosnia and Herzegovina', 'Sarajevo'], ['Botswana', 'Gaborone'], ['Brazil', 'Brasilia'], ['Brunei', 'Bandar Seri Begawan'], ['Bulgaria', 'Sofia'), ('Burkina Faso', 'Ouagadougou'], ['Burundi', 'Gitega'], ['Cambodia', 'Phnom Penh'], ['Cameroon', 'Yaounde'), ('Canada', 'Ottawa'], ['Cape Verde', 'Praia'), ('Central African Republic', 'Bangui'), ('Chad', "N'Djamena"), ('Chile', 'Santiago'), ('China', 'Beijing'), ('Colombia', 'Bogota'], ['Comoros', 'Moroni'], ['Congo, Democratic Republic of the', 'Kinshasa'], ['Congo, Republic of the', 'Brazzaville'), ['Costa Rica', 'San Jose'], ["Cote d'Ivoire (Ivory Coast)", 'Yamoussoukro'], ['Croatia', 'Zagreb'], ['Cuba', 'Havana'), ('Cyprus', 'Nicosia'), ('Czech Republic (Czechia)', 'Prague'], ['Denmark', 'Copenhagen'), ('Djibouti', 'Djibouti'], ['Dominica', 'Roseau'), ['Dominican Republic', 'Santo Domingo'], ['East Timor', 'Dili'), ('Ecuador', 'Quito'), ['Egypt', 'Cairo'], ['El Salvador', 'San Salvador'], ['England', 'London'], ['Equatorial Guinea', 'Malabo'], ['Eritrea', 'Asmara'], ['Estonia', 'Tallinn'], ['Eswatini (Swaziland)', 'Mbabana'), ('Ethiopia', 'Addis Ababa'], ['Federated States of Micronesia', 'Palikir'], ['Fiji', 'Suva'], ['Finland', 'Helsinki'], ['France', 'Paris'], ['Gabon', 'Libreville'], ['Gambia', 'Banjul"], ['Georgia', 'Tbilisi'], ['Germany', 'Berlin'], ['Ghana', 'Accra'], ['Greece', 'Athens'], ['Grenada', "Saint George's"), ['Guatemala', 'Guatemala City'], ['Guinea', 'Conakry'], ['Guinea-Bissau', 'Bissau'], ['Guyana', 'Georgetown'], ['Haiti', 'Port au Prince'], ['Honduras', 'Tegucigalpa'], ['Hungary', 'Budapest'], ['iceland', 'Reykjavik'), ['India', 'New Delhi'], ['Indonesia', 'Jakarta'], ['Iran', 'Tehran'), ('Iraq', 'Baghdad'), ['Ireland', 'Dublin'], ['Israel', 'Jerusalem'), ('Italy', 'Rome'], ['Jamaica', 'Kingston'], ['Japan', 'Tokyo'], ['Jordan', 'Amman'], ['Kazakhstan', 'Nur-Sultan'], ['Kenya', 'Nairobi'], ['Kiribati', 'Tarawa Atoll'], ['Kosovo', 'Pristina'], ['Kuwait', 'Kuwait City'), ['Kyrgyzstan', 'Bishkek'), ('Laos', 'Vientiane'], ['Latvia', 'Riga'), ('Lebanon', 'Beirut'], ['Lesotho', 'Maseru'), ('Liberia', 'Monrovia'], ['Libya', 'Tripoli'), ('Liechtenstein', 'Vaduz'], ['Lithuania', 'Vilnius'], ['Luxembourg', 'Luxembourg'], ['Madagascar', 'Antananarivo'], ['Malawi', 'Lilongwe'], ['Malaysia', 'Kuala Lumpur'], ['Maldives', "Male'], ['Mali', 'Bamako'], ['Malta', 'Valletta'], ['Marshall Islands', 'Majuro'), ['Mauritania', 'Nouakchott'], ['Mauritius', 'Port Louis'], ['Mexico', 'Mexico City'], ['Moldova', 'Chisinau'], ['Monaco', 'Monaco'], ['Mongolia', 'Ulaanbaatar'], ['Montenegro', 'Podgorica'], ['Morocco', 'Rabat'], ['Mozambique', 'Maputo'), ['Myanmar (Burma)', 'Nay Pyi Taw'], ['Namibia', 'Windhoek'], ['Nauru', 'No official capital'], ['Nepal', 'Kathmandu'], ['Netherlands', 'Amsterdam'], ['New Zealand', 'Wellington'], ['Nicaragua', 'Managua'], ['Niger', 'Niamey'], ['Nigeria', 'Abuja'), ['North Korea', 'Pyongyang'], ['North Macedonia (Macedonia)', 'Skopje'], ['Northern Ireland', 'Belfast'], ['Norway', 'Oslo'], ['Oman', 'Muscat'], ['Pakistan', 'Islamabad'), ['Palau', 'Melekeok'], ['Panama', 'Panama City'], ['Papua New Guinea', 'Port Moresby'], ['Paraguay', 'Asuncion'], ['Peru', 'Lima'], ['Philippines', 'Manila', ['Poland', 'Warsaw'], ['Portugal', 'Lisbon'], ['Qatar', 'Doha'], ['Romania', 'Bucharest'], ['Russia', 'Moscow'], ['Rwanda', 'Kigali'), ('Saint Kitts and Nevis', 'Basseterre'), ('Saint Lucia', 'Castries'], ['Saint Vincent and the Grenadines', 'Kingstown'], ['Samoa', 'Apia'], ['San Marino', 'San Marino'], ['Sao Tome and Principe', 'Sao Tome'], ['Saudi Arabia', 'Riyadh'), ('Scotland', 'Edinburgh'], ['Senegal', 'Dakar'], ['Serbia', 'Belgrade'), ['Seychelles', 'Victoria'), ('Sierra Leone', 'Freetown'), ('Singapore', 'Singapore'), ['Slovakia', 'Bratislava'), ('Slovenia', 'Ljubljana'], ['Solomon Islands', 'Honiara'), ['Somalia', 'Mogadishu'], ['South Africa', 'Pretoria, Bloemfontein, Cape Town'], ["South Korea', 'Seoul'], ['South Sudan', 'Juba'], ['Spain', 'Madrid'], ['Sri Lanka', 'Colombo'], ['Sudan', 'Khartoum'], ['Suriname', 'Paramaribo'], ['Sweden', 'Stockholm'], ['Switzerland', 'Bern'], ['Syria', 'Damascus'], ['Taiwan', 'Taipei'), ['Tajikistan', 'Dushanbe'], ['Tanzania', 'Dodoma'], ['Thailand', 'Bangkok'], ['Togo', 'Lome'], ['Tonga', "Nuku'alofa"), ('Trinidad and Tobago', 'Port of Spain'], ['Tunisia', 'Tunis'), ('Turkey', 'Ankara'], ['Turkmenistan', 'Ashgabat'], ['Tuvalu', 'Funafuti'), ['Uganda', 'Kampala'], ['Ukraine', 'Kiev'], ['United Arab Emirates', 'Abu Dhabi'), ['United Kingdom', 'London'], ['United States', 'Washington D.C.'], ['Uruguay', 'Montevideo'], ['Uzbekistan', 'Tashkent'], ['Vanuatu', 'Port Vila'], ['Vatican City', 'Vatican City'], ['Venezuela', 'Caracas'], ['Vietnam', 'Hanoi'], ['Wales', 'Cardiff), ['Yemen', "Sana'a"], ['Zambia', 'Lusaka'], ['Zimbabwe', 'Harare']) countries = ('Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Angola', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Brazil', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Central African Republic', 'Chad', 'Chile', 'China', 'Colombia', 'Comoros', 'Congo, Democratic Republic of the', 'Congo, Republic of the', 'Costa Rica', "Cote d'Ivoire (Ivory Coast)", 'Croatia', 'Cuba', 'Cyprus', 'Czech Republic (Czechia)', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'East Timor', 'Ecuador', 'Egypt', 'El Salvador', 'England', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Eswatini (Swaziland)', 'Ethiopia', 'Federated States of Micronesia', 'Fiji', 'Finland', 'France', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Greece', 'Grenada', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Honduras', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', 'Kosovo', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Mauritania', 'Mauritius', 'Mexico', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Morocco', 'Mozambique', 'Myanmar (Burma)', 'Namibia', 'Nauru', 'Nepal', 'Netherlands', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'North Korea', 'North Macedonia (Macedonia)', 'Northern Ireland', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Qatar', 'Romania', 'Russia', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Scotland', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Korea', 'South Sudan', 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Vatican City', "Venezuela', 'Vietnam', 'Wales', 'Yemen', 'Zambia', 'Zimbabwe') capitals = ('Kabul', 'Tirana (Tirane)', 'Algiers', 'Andorra la Vella', 'Luanda', "Saint John's", 'Buenos Aires', 'Yerevan', 'Canberra', 'Vienna', 'Baku', 'Nassau', 'Manama', 'Dhaka', 'Bridgetown', 'Minsk', 'Brussels', 'Belmopan', 'Porto Novo', 'Thimphu', 'Sucre', 'Sarajevo', 'Gaborone', 'Brasilia', 'Bandar Seri Begawan', 'Sofia', 'Ouagadougou', 'Gitega', 'Phnom Penh', 'Yaounde', 'Ottawa', 'Praia', 'Bangui', "N'Djamena", 'Santiago', 'Beijing', 'Bogota', 'Moroni', 'Kinshasa', 'Brazzaville', 'San Jose', 'Yamoussoukro', 'Zagreb', 'Havana', 'Nicosia', 'Prague', 'Copenhagen', 'Djibouti', 'Roseau', 'Santo Domingo', 'Dili', 'Quito', 'Cairo', 'San Salvador', 'London', 'Malabo', 'Asmara', 'Tallinn', 'Mbabana', 'Addis Ababa', 'Palikir', 'Suva', 'Helsinki', 'Paris', 'Libreville', 'Banjul', 'Tbilisi', 'Berlin', 'Accra', 'Athens', "Saint George's", 'Guatemala City', 'Conakry', 'Bissau', 'Georgetown', 'Port au Prince', 'Tegucigalpa', Budapest', 'Reykjavik', 'New Delhi', 'Jakarta', 'Tehran', 'Baghdad', 'Dublin', 'Jerusalem', 'Rome', 'Kingston', 'Tokyo', 'Amman', 'Nur-Sultan', 'Nairobi', 'Tarawa Atoll', 'Pristina', 'Kuwait City', 'Bishkek', 'Vientiane', 'Riga', 'Beirut', 'Maseru', 'Monrovia', 'Tripoli', 'Vaduz', 'Vilnius', 'Luxembourg', 'Antananarivo', 'Lilongwe', 'Kuala Lumpur', 'Male', 'Bamako', 'Valletta', 'Majuro', 'Nouakchott', 'Port Louis', 'Mexico City', 'Chisinau', 'Monaco', 'Ulaanbaatar', 'Podgorica', 'Rabat', 'Maputo', 'Nay Pyi Taw', 'Windhoek', 'No official capital', 'Kathmandu', 'Amsterdam', 'Wellington', 'Managua', 'Niamey', 'Abuja', 'Pyongyang', 'Skopje', 'Belfast', 'Oslo', 'Muscat', 'Islamabad', 'Melekeok', 'Panama City', 'Port Moresby', 'Asuncion', 'Lima', 'Manila', 'Warsaw', 'Lisbon', 'Doha', 'Bucharest', 'Moscow', 'Kigali', 'Basseterre', 'Castries', 'Kingstown', 'Apia', 'San Marino', 'Sao Tome', 'Riyadh', 'Edinburgh', 'Dakar', 'Belgrade', 'Victoria', 'Freetown', 'Singapore', 'Bratislava', 'Ljubljana', 'Honiara', 'Mogadishu', 'Pretoria, Bloemfontein, Cape Town', 'Seoul', 'Juba', 'Madrid', 'Colombo', 'Khartoum', 'Paramaribo', 'Stockholm', 'Bern', 'Damascus', 'Taipei', 'Dushanbe', 'Dodoma', 'Bangkok', 'Lome', "Nuku'alofa", 'Port of Spain', 'Tunis', 'Ankara', 'Ashgabat', 'Funafuti', 'Kampala', 'Kiev', 'Abu Dhabi', 'London', 'Washington D.C.', 'Montevideo', 'Tashkent', 'Port Vila', 'Vatican City', 'Caracas', 'Hanoi', 'Cardiff', "Sana'a", 'Lusaka', 'Harare') # END HERE main.py This script imports data.py and its variables; it also imports assignment1.py, as follows: from data import countries_and_capitals, countries, capitals import assignment1 It also has a main function which has a few instructions, loops, and nested loops as follows: it calls print json_countries_and_capitals(), then prints get_list_of_countries whose_nth_letter_is(n, letter) inside nested loops where n ranges from 1 to 3 and letter ranges from the elements in ['a', 'e','1', 'o', 'u'] (for a total of 15 loops). Then it prints get_funny_case_capital cities(letter) for each letter of the alphabet, and then prints get_doubled_letter_countries(). assignment1.py This script has a main function that prints "I should not be called"...the main function does nothing else. This script also defines the following functions. def print_json_countries_and_capitals() # This function prints each country and its capital in json format exactly as follows: [ { "country_name":"Afghanistan", "capital_city" : "Kabul" }, { "country_name":"Albania", "capital_city" : "Tirana (Tirane)" "country_name":"Algeria", "capital_city" : "Algiers" }, etc... { "country_name":"Zimbabwe", "capital_city" : "Harare" } Note: you MUST use while loops. def get_list_of_countries whose_nth_letter_isn, letter) # this function creates and returns a list of all countries whose nth letter matches the letter in the parameter. For example, calling it as follows: get_list_of_countries_whose_nth_letter_is(3,"m") would return a list of every country whose THIRD letter (i.e. index 2) is the letter m: ['Armenia', 'Cambodia', 'Cameroon', 'Comoros', 'Dominica', 'Dominican Republic', 'Gambia', 'Jamaica', 'Namibia', 'Romania', 'Samoa', 'Somalia', 'Yemen', 'Zambia', 'Zimbabwe'l Note: you MUST use a for loop. def get_funny_case_capital_cities(letter) We know what uppercase and lowercase and titlecase and capitalize do. Now we are going to define our own letter casing. Here are the rules: A letter that immediately precedes and follows the parameter letter is uppercased. For example, calling get_funny_case_capital cities("a") will uppercase the previous and next letters that come before and after each "a" or "A" in a capital city (unless there are consecutive a's, since every a will be lowercased). All other letters are lowercase. All cities that contain that letter will be stored in a list and returned. For example: print(get_funny_case_capital_cities("u")) print(get_funny_case_capital_cities("z")) print(get_funny_case_capital_cities("w")) will return the following lists: ['kaBul', 'LuAnda', 'Buenos aires', 'baku', 'nassAu', 'bRussels', 'thimpHu', 'SuCre', 'OuAgadougou', 'yaOuNde', 'banGul', 'yamoussoukro', 'praGuE', 'djibouti', 'roseAu', 'Qulto', 'Suva', 'banJul', 'GuAtemala city', 'bissAu', 'port Au prince', 'te Gucigalpa', 'Budapest', 'Dublin', 'jeRuSalem', 'NuR-Sultan', 'Kuwait city', 'beiRut', 'maseRu', 'vaDuz', 'vilnlus', 'Luxembourg', 'Kuala LUMPUR', 'maluRo', 'nouakchott', 'port Ouls', 'chisinAu', 'ulaanbaatar', 'maPuto', 'kathmandu', 'manaGuA', 'aBuja', 'Muscat', 'aSuNcion', 'Bucharest', 'edinburgh', 'Jubljana', 'mogadishu', 'seOul', JuBa', 'khartoum', 'damascus', 'Dushanbe', "Nuku'alofa", 'TuNis', 'FuNaFuTi', 'aBu dhabi', 'Lusaka'] ['brAzzAville', 'Agreb', 'vadUz'] ['bridgetown', 'bandar seri begawAn', 'ottAWA', 'georgetown', 'new delhi', 'tarAWA atoll', 'kUwAit city', 'lilon Gwe', 'nay pyi tAw', 'windhoek', 'wEllington', 'wArsAw", 'moscow', 'kingstown', 'freetown', 'pretoria, bloemfontein, cape town', 'wAshington d.c.') HINT for this function: in Python, you are not allowed to change letters in strings. But you can change letters in lists. For example: >>> s = list("Hello zorld") >>> ['H', 'e', 'T',T,'','', '2','o', ,T,d'] >>>s[6] = 'W' >>>s ['H', 'e',T,T,'','', 'W', 'o', 'T',T,'d'] >>> ".join(s) 'Hello World def get_doubled_letter_countries() This function creates and returns a tuple of all the countries that have consecutive repeated letters. When called it returns that tuple, in alphabetical order by the doubled letters: ('morocco', 'greece', 'marshall Islands', 'seychelles', 'cameroon', 'philippines', andorra', 'sierra leone', 'guinea-bissau', 'russia', 'saint Kitts and nevis') Notice they are in alphabetical order by the doubled letters: c, e, I, I, O, P, T, r, s, s, t
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
