Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def indeks_drzave(drzave, drzava):
- return np.where(drzave == drzava)[0][0]
- import unittest
- import numpy as np
- def srecne_drzave(tezina, vrednost, drzavi, mera):
- pari = vrednost / tezina
- niza = pari < mera
- return drzavi[niza]
- def vec_kot(tezina, drzavi, drzava):
- idx = indeks_drzave(drzavi, drzava)
- tezina_na_drzava = tezina[idx]
- return np.sum(tezina > tezina_na_drzava)
- class Test(unittest.TestCase):
- teze = np.array([
- 1068570000, 9342850, 612897, 18700200, 49379400, 56, 370860, 43500500, 10144900, 13835200, 43631, 560529, 744,
- 17534600, 244311, 1532300, 196011000, 11942800, 14537700, 126296000, 1109590000, 19241800, 351094000, 78485700,
- 200695000, 38, 36990300, 1043, 44463300, 2254140, 8458220, 4928940, 34353400, 665230000, 921, 4361420000,
- 6713560,
- 2801620, 25146700, 1383, 232316000, 16513200, 15257100, 87426100, 1262980, 984042, 3696, 5001, 2276820, 1834080,
- 3674190, 1389550, 18517700, 1405, 70, 214838000, 243406, 3811980, 209393, 663050000, 184010000, 37136, 2776060,
- 1023000000, 96376, 42021600, 73296100, 10801, 652604000, 11648, 175679000, 56456100, 3244410, 432232, 28058500,
- 5749150, 496208000, 189785000, 661390000, 306924000, 3990210, 2201580, 252888000, 721, 14383800, 24717400, 80,
- 1035, 77105800, 5007, 20, 6560710, 15098200, 1260, 1308900000, 4985, 16187800, 81313800, 207859000, 12153300,
- 27587000, 10744700, 620922, 120931000, 4078, 98410700, 40, 511178, 79888700, 10536100, 337907000, 623329, 54,
- 21303300, 2243, 6242780, 53954900, 39347600, 58980300, 954379, 45073400, 221254000, 11955600, 8986530, 201142,
- 152588000, 67857700, 2779200, 39630100, 4220, 72308600, 91093500, 505, 423, 682, 111907000, 8342420, 55854900,
- 1000, 7133440, 192466, 623, 41875700, 20, 564718000, 7, 49, 36951000, 97095, 67025]
- )
- vrednosti = np.array([
- 704414240.0, 5198640.0, 157250.0, 5112190.0, 36917880.0, 630.0, 8000.0, 15652370.0, 5257200.0, 9220620.0,
- 92800.0,
- 448430.0, 4370.0, 12969130.0, 49730.0, 382490.0, 132893720.0, 11756100.0, 4162040.0, 128338700.0, 850738690.0,
- 19999940.0, 114364670.0, 82133940.0, 95349460.0, 290.0, 8672850.0, 1770.0, 34411500.0, 235290.0, 11840420.0,
- 8420020.0, 30988300.0, 246818670.0, 6020.0, 2121188560.0, 1053330.0, 89600.0, 2210900.0, 1390.0, 89375730.0,
- 8342040.000000001, 14250450.0, 86454840.0, 1010400.0, 5040470.0, 2960.0, 34260.0, 1324970.0, 1448430.0,
- 1362790.0,
- 769760.0, 1500810.0, 310.0, 290.0, 154979800.0, 319310.0, 212700.0, 317670.0, 497390830.0, 180013280.0, 17550.0,
- 1794780.0, 762868730.0, 42760.0, 32244710.0, 34409890.0, 8550.0, 704455360.0, 52000.0, 47054850.0, 70982550.0,
- 306660.0, 75920.0, 12041100.0, 5823920.0, 354618660.0, 131940180.0, 392402000.0, 176103690.0,
- 4178640.0000000005,
- 331280.0, 202587630.0, 3080.0, 11359250.0, 910640.0, 190.0, 830.0, 67082000.0, 21350.0, 340.0, 3809010.0,
- 14232640.0, 1920.0, 946332640.0, 24940.0, 11224320.0, 61946980.0, 105558710.0, 339780.0, 16204030.0, 5069310.0,
- 55400.0, 100032790.0, 3260.0, 47176630.0, 120.0, 163550.0, 101210240.0, 5584560.0, 210354680.0, 405000.0, 10.0,
- 3255560.0, 4140.0, 7085300.0, 36155240.0, 17821430.0, 54699790.0, 744540.0, 24541610.0, 186693450.0, 1974190.0,
- 5114640.0, 158850.0, 102653740.0, 47623360.0, 1565850.0, 25061160.0, 3550.0, 57945390.0, 57052640.0, 400.0,
- 470.0,
- 12040.0, 16552220.000000002, 367340.0, 4715430.0, 160.0, 7980060.0, 803750.0, 1060.0, 30607910.0, 20.0,
- 427873090.0, 130.0, 240.0, 22456700.0, 111600.0, 32400.0]
- )
- drzave = np.array([
- 'Russian Federation', 'Botswana', 'Paraguay', 'Tunisia', 'Croatia', 'Cook Islands', 'Benin', 'Uruguay',
- 'Egypt, Arab Rep.', 'Bahrain', 'Greenland', 'Vietnam', 'French Polynesia', 'Albania', 'Lebanon', 'Malaysia',
- 'Czech Republic', 'Estonia', 'Trinidad and Tobago', 'Austria', 'Japan', 'Azerbaijan', 'Argentina', 'Norway',
- 'Turkey', 'Vanuatu', 'South Africa', 'Malawi', 'Belarus', 'Mauritania', 'Armenia', 'Luxembourg', 'Lithuania',
- 'China', 'New Caledonia', 'United States', 'Nigeria', 'Burkina Faso', 'Colombia', 'Fiji',
- 'Syrian Arab Republic',
- 'Senegal', 'Georgia', 'Denmark', 'Bermuda', 'Bahamas, The', 'Dominican Republic', 'Venezuela', 'Macao',
- 'Brunei',
- 'Barbados', 'Maldives', 'Mali', 'Pakistan', "Cote d'Ivoire", 'Ukraine', 'Andorra', 'Niger', 'Mexico', 'Italy',
- 'Sweden', 'St. Kitts and Nevis', 'Aruba', 'United Kingdom', 'Kenya', 'Bulgaria', 'Hong Kong, China', 'Panama',
- 'Belgium', 'Israel', 'Chile', 'Finland', 'Rwanda', 'Bhutan', 'Morocco', 'Iceland', 'Canada', 'Spain',
- 'Iran, Islamic Rep.', 'Saudi Arabia', 'Namibia', 'Guatemala', 'Poland', 'Ethiopia(excludes Eritrea)',
- 'Occ.Pal.Terr', 'Costa Rica', 'Comoros', 'Lao PDR', 'Hungary', 'Ghana', 'Gambia, The', 'Montenegro', 'Latvia',
- 'Bangladesh', 'Germany', 'Brazil', 'North Macedonia', 'New Zealand', 'Algeria', 'Nepal', 'Qatar', 'Oman',
- 'Uganda', 'Greece', 'Mozambique', 'Libya', 'Guyana', 'Zimbabwe', 'Switzerland', 'Moldova', 'Korea, Rep.',
- 'Antigua and Barbuda', 'Bolivia', 'Afghanistan', 'Gabon', 'Malta', 'Slovenia', 'Singapore', 'Slovak Republic',
- 'Lesotho', 'Kazakhstan', 'Netherlands', 'Thailand', 'Kyrgyz Republic', 'Zambia', 'Portugal', 'Romania',
- 'Indonesia', 'Jordan', 'Angola', 'Ireland', 'Kuwait', 'Micronesia, Fed. Sts.', 'St. Lucia', 'Seychelles',
- 'El Salvador', 'Nicaragua', 'Honduras', 'Burundi', 'Cyprus', 'Australia', 'Cape Verde',
- 'Serbia, FR(Serbia/Montenegro)', 'Palau', 'France', 'Other Asia, nes', 'Tonga', 'Bosnia and Herzegovina',
- 'Grenada', 'Sri Lanka']
- )
- def test_01_srecne_drzave(self):
- srecne = srecne_drzave(self.teze, self.vrednosti, self.drzave, 0.6)
- self.assertIsInstance(srecne, np.ndarray, "Funkcija mora vrniti numpy array")
- np.testing.assert_equal(
- np.array(['Botswana', 'Paraguay', 'Tunisia', 'Benin', 'Uruguay', 'Egypt, Arab Rep.', 'Lebanon', 'Malaysia',
- 'Trinidad and Tobago', 'Argentina', 'Turkey', 'South Africa', 'Mauritania', 'China',
- 'United States', 'Nigeria', 'Burkina Faso', 'Colombia', 'Syrian Arab Republic', 'Senegal',
- 'Macao', 'Barbados', 'Maldives', 'Mali', 'Pakistan', 'Niger', 'St. Kitts and Nevis', 'Kenya',
- 'Hong Kong, China', 'Chile', 'Rwanda', 'Bhutan', 'Morocco', 'Iran, Islamic Rep.', 'Saudi Arabia',
- 'Guatemala', 'Costa Rica', 'Montenegro', 'Algeria', 'Nepal', 'Qatar', 'Oman', 'Uganda', 'Libya',
- 'Zimbabwe', 'Moldova', 'Bolivia', 'Afghanistan', 'Singapore', 'Kazakhstan', 'Thailand',
- 'Kyrgyz Republic', 'Indonesia', 'El Salvador', 'Nicaragua', 'Honduras', 'Burundi', 'Sri Lanka'
- ]),
- srecne)
- np.testing.assert_equal(
- np.array([
- 'Paraguay', 'Tunisia', 'Benin', 'Uruguay', 'Lebanon', 'Malaysia', 'Trinidad and Tobago', 'Argentina',
- 'Turkey', 'South Africa', 'Mauritania', 'China', 'United States', 'Nigeria', 'Burkina Faso', 'Colombia',
- 'Syrian Arab Republic', 'Barbados', 'Mali', 'Pakistan', 'Niger', 'St. Kitts and Nevis', 'Kenya',
- 'Hong Kong, China', 'Chile', 'Rwanda', 'Bhutan', 'Morocco', 'Guatemala', 'Costa Rica', 'Nepal', 'Oman',
- 'Uganda', 'Libya', 'Zimbabwe', 'Bolivia', 'Afghanistan', 'Singapore', 'Thailand', 'El Salvador',
- 'Nicaragua', 'Honduras', 'Burundi', 'Sri Lanka'
- ]),
- srecne_drzave(self.teze, self.vrednosti, self.drzave, 0.5))
- np.testing.assert_equal(
- np.array(['Benin', 'Burkina Faso', 'Colombia', 'Mali', 'Niger', 'Rwanda', 'Costa Rica', 'Nepal', 'Uganda',
- 'Nicaragua', 'Honduras'
- ]),
- srecne_drzave(self.teze, self.vrednosti, self.drzave, 0.1))
- def test_02_vec_kot(self):
- self.assertEqual(2, vec_kot(np.array([2, 1, 3]), np.array(["a", "b", "c"]), "b"))
- self.assertEqual(1, vec_kot(np.array([2, 1, 3]), np.array(["a", "b", "c"]), "a"))
- self.assertEqual(0, vec_kot(np.array([2, 1, 3]), np.array(["a", "b", "c"]), "c"))
- self.assertEqual(41, vec_kot(self.teze, self.drzave, "Slovenia"))
- self.assertEqual(0, vec_kot(self.teze, self.drzave, "United States"))
- self.assertEqual(5, vec_kot(self.teze, self.drzave, "China"))
- if __name__ == "__main__":
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment