Skip to content

Commit 7ba5a7b

Browse files
Add files via upload
1 parent 980950b commit 7ba5a7b

File tree

1 file changed

+104
-87
lines changed

1 file changed

+104
-87
lines changed

3.2 EXERCISE Lists Basics.ipynb

Lines changed: 104 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@
4646
"string = input()\n",
4747
"string_list = string.split()\n",
4848
"string_list_print = []\n",
49+
"\n",
4950
"for index in range(len(string_list)):\n",
5051
" number = int(string_list[index]) * -1\n",
5152
" string_list_print.append(number)\n",
53+
" \n",
5254
"print(string_list_print)"
5355
]
5456
},
@@ -84,10 +86,13 @@
8486
"source": [
8587
"first_number = int(input())\n",
8688
"second_number = int(input())\n",
89+
"\n",
8790
"numbers_list = []\n",
91+
"\n",
8892
"for num in range(1, (first_number * second_number) + 1):\n",
8993
" if num % first_number == 0:\n",
9094
" numbers_list.append(num)\n",
95+
" \n",
9196
"print(numbers_list)"
9297
]
9398
},
@@ -153,20 +158,25 @@
153158
}
154159
],
155160
"source": [
156-
"cards_input = input()\n",
157-
"cards_input_list = set(cards_input.split())\n",
161+
"cards_input = set(input().split())\n",
162+
"\n",
158163
"players_A_team = 11\n",
159164
"players_B_team = 11\n",
160165
"terminated = False\n",
161-
"for card in cards_input_list:\n",
166+
"\n",
167+
"for card in cards_input:\n",
168+
" \n",
162169
" if card[0] == \"A\":\n",
163170
" players_A_team -= 1\n",
164171
" else:\n",
165172
" players_B_team -= 1\n",
173+
" \n",
166174
" if players_B_team < 7 or players_A_team < 7:\n",
167175
" terminated = True\n",
168176
" break\n",
177+
" \n",
169178
"print(f\"Team A - {players_A_team}; Team B - {players_B_team}\")\n",
179+
"\n",
170180
"if terminated:\n",
171181
" print(\"Game was terminated\")"
172182
]
@@ -232,18 +242,22 @@
232242
}
233243
],
234244
"source": [
235-
"numbers = input()\n",
245+
"numbers_list = input().split(\", \")\n",
236246
"beggars = int(input())\n",
237-
"numbers_list = numbers.split(\", \")\n",
247+
"\n",
238248
"numbers_list_print = []\n",
239249
"begin_from = 0\n",
240250
"sum_numbers = 0\n",
251+
"\n",
241252
"for beggar in range(beggars):\n",
253+
" \n",
242254
" for i in range(begin_from, len(numbers_list), beggars):\n",
243255
" sum_numbers += int(numbers_list[i])\n",
256+
" \n",
244257
" numbers_list_print.append(sum_numbers)\n",
245258
" sum_numbers = 0\n",
246259
" begin_from += 1\n",
260+
" \n",
247261
"print(numbers_list_print)"
248262
]
249263
},
@@ -281,22 +295,26 @@
281295
}
282296
],
283297
"source": [
284-
"cards = input()\n",
298+
"cards = input().split(\" \")\n",
285299
"shuffles = int(input())\n",
286-
"cards_list = cards.split(\" \")\n",
300+
"\n",
287301
"new_card_list_print = []\n",
288302
"new_card_list = []\n",
289-
"slice_place = int(len(cards_list) / 2)\n",
290-
"first_half_cards_list = cards_list[:slice_place]\n",
291-
"second_half_cards_list = cards_list[slice_place:]\n",
303+
"slice_place = int(len(cards) / 2)\n",
304+
"first_half_cards_list = cards[:slice_place]\n",
305+
"second_half_cards_list = cards[slice_place:]\n",
306+
"\n",
292307
"for shuffle in range(shuffles):\n",
308+
"\n",
293309
" for card in range(slice_place):\n",
294310
" new_card_list.append(first_half_cards_list[card])\n",
295311
" new_card_list.append(second_half_cards_list[card])\n",
312+
"\n",
296313
" first_half_cards_list = new_card_list[:slice_place]\n",
297314
" second_half_cards_list = new_card_list[slice_place:]\n",
298315
" new_card_list_print = new_card_list\n",
299316
" new_card_list = []\n",
317+
"\n",
300318
"print(new_card_list_print)"
301319
]
302320
},
@@ -360,12 +378,16 @@
360378
"source": [
361379
"string_of_numbers = input()\n",
362380
"number = int(input())\n",
381+
"\n",
363382
"list_of_numbers = string_of_numbers.split(\" \")\n",
383+
"\n",
364384
"for i in range(len(list_of_numbers)):\n",
365385
" list_of_numbers[i] = int(list_of_numbers[i])\n",
386+
" \n",
366387
"for n in range(number):\n",
367388
" min_number = min(list_of_numbers)\n",
368389
" list_of_numbers.remove(min_number)\n",
390+
" \n",
369391
"print(list_of_numbers)"
370392
]
371393
},
@@ -443,26 +465,32 @@
443465
}
444466
],
445467
"source": [
446-
"gifts_names = input()\n",
468+
"gifts_names = input().split(\" \")\n",
447469
"command = input()\n",
448-
"gifts_names_list = gifts_names.split(\" \")\n",
470+
"\n",
449471
"while command != \"No Money\":\n",
450472
" command_list = command.split(\" \")\n",
473+
"\n",
451474
" if command_list[0] == \"OutOfStock\":\n",
452-
" if command_list[1] in gifts_names_list:\n",
453-
" for i in range(len(gifts_names_list)):\n",
454-
" if gifts_names_list[i] == command_list[1]:\n",
455-
" gifts_names_list[i] = \"None\"\n",
475+
" if command_list[1] in gifts_names:\n",
476+
" for i in range(len(gifts_names)):\n",
477+
" if gifts_names[i] == command_list[1]:\n",
478+
" gifts_names[i] = \"None\"\n",
479+
"\n",
456480
" elif command_list[0] == \"Required\" and int(command_list[2]) > 0 and int(command_list[2]) <= int(\n",
457-
" len(gifts_names_list)) - 1:\n",
458-
" gifts_names_list[int(command_list[2])] = command_list[1]\n",
481+
" len(gifts_names)) - 1:\n",
482+
" gifts_names[int(command_list[2])] = command_list[1]\n",
483+
"\n",
459484
" elif command_list[0] == \"JustInCase\":\n",
460-
" gifts_names_list[int(len(gifts_names_list)) - 1] = command_list[1]\n",
485+
" gifts_names[int(len(gifts_names)) - 1] = command_list[1]\n",
461486
" command = input()\n",
462-
"for n in range(len(gifts_names_list)):\n",
463-
" if \"None\" in gifts_names_list:\n",
464-
" gifts_names_list.remove(\"None\")\n",
465-
"gifts_names_print = \" \".join(gifts_names_list)\n",
487+
"\n",
488+
"for n in range(len(gifts_names)):\n",
489+
" if \"None\" in gifts_names:\n",
490+
" gifts_names.remove(\"None\")\n",
491+
"\n",
492+
"gifts_names_print = \" \".join(gifts_names)\n",
493+
"\n",
466494
"print(gifts_names_print)"
467495
]
468496
},
@@ -566,35 +594,33 @@
566594
}
567595
],
568596
"source": [
569-
"fire = input()\n",
597+
"fire_list = input().split(\"#\")\n",
570598
"water = int(input())\n",
571-
"fire_list = fire.split(\"#\")\n",
572-
"new_fire_List = []\n",
599+
"\n",
600+
"RANGE_HIGH = range(81, 126)\n",
601+
"RANGE_MED = range(51, 81)\n",
602+
"RANGE_LOW = range(1, 51)\n",
603+
"\n",
573604
"effort = 0\n",
574-
"for i in fire_list:\n",
575-
" new_fire_List.append(i.split(' = '))\n",
605+
"fire_level_print = []\n",
606+
"\n",
607+
"for fire in fire_list:\n",
608+
" type_of_fire, fire_level = fire.split(\" = \")\n",
609+
" fire_level = int(fire_level)\n",
610+
"\n",
611+
" is_valid = (type_of_fire == type_of_fire == \"High\" and fire_level in RANGE_HIGH) or (\n",
612+
" type_of_fire == \"Medium\" and fire_level in RANGE_MED) or (type_of_fire == \"Low\" and fire_level in RANGE_LOW)\n",
613+
"\n",
614+
" if is_valid and water >= fire_level:\n",
615+
" water -= fire_level\n",
616+
" fire_level_print.append(fire_level)\n",
617+
" effort += fire_level\n",
618+
"\n",
576619
"print(\"Cells:\")\n",
577-
"for i in range(len(new_fire_List)):\n",
578-
" fire_type = new_fire_List[i][0]\n",
579-
" fire_level = int(new_fire_List[i][1])\n",
580-
" if fire_type == \"High\":\n",
581-
" if 81 <= int(new_fire_List[i][1]) <= 125:\n",
582-
" if water >= fire_level:\n",
583-
" water -= fire_level\n",
584-
" print(f\" - {fire_level}\")\n",
585-
" effort += fire_level\n",
586-
" if fire_type == \"Medium\":\n",
587-
" if 51 <= fire_level <= 80:\n",
588-
" if water >= fire_level:\n",
589-
" water -= fire_level\n",
590-
" print(f\" - {fire_level}\")\n",
591-
" effort += fire_level\n",
592-
" if fire_type == \"Low\":\n",
593-
" if 1 <= fire_level <= 50:\n",
594-
" if water >= fire_level:\n",
595-
" water -= fire_level\n",
596-
" print(f\" - {fire_level}\")\n",
597-
" effort += fire_level\n",
620+
"\n",
621+
"for fire_level in fire_level_print:\n",
622+
" print(f\" - {fire_level}\")\n",
623+
" \n",
598624
"print(f\"Effort: {(effort * 0.25):.2f}\")\n",
599625
"print(f\"Total Fire: {effort}\")"
600626
]
@@ -686,46 +712,34 @@
686712
}
687713
],
688714
"source": [
689-
"items_and_prices = input()\n",
715+
"items_and_prices = input().split(\"|\")\n",
690716
"budget = float(input())\n",
691-
"items_and_prices_list = items_and_prices.split(\"|\")\n",
717+
"\n",
692718
"new_items_and_prices_list = []\n",
693719
"increase_price = 0\n",
694720
"increase_price_list = []\n",
695721
"profit = 0\n",
696722
"sum_increase_price = 0\n",
697-
"for i in items_and_prices_list:\n",
698-
" new_items_and_prices_list.append(i.split(\"->\"))\n",
699-
"for i in range(len(new_items_and_prices_list)):\n",
700-
" item_type = new_items_and_prices_list[i][0]\n",
701-
" price = float(new_items_and_prices_list[i][1])\n",
702-
" if item_type == \"Clothes\":\n",
703-
" if price <= 50:\n",
704-
" if budget >= price:\n",
705-
" budget -= price\n",
706-
" increase_price = price * 1.4\n",
707-
" sum_increase_price += increase_price\n",
708-
" increase_price_list.append(f\"{increase_price:.2f}\")\n",
709-
" profit += ((price * 1.4) - price)\n",
710-
" elif item_type == \"Shoes\":\n",
711-
" if price <= 35:\n",
712-
" if budget >= price:\n",
713-
" budget -= price\n",
714-
" increase_price = price * 1.4\n",
715-
" sum_increase_price += increase_price\n",
716-
" increase_price_list.append(f\"{increase_price:.2f}\")\n",
717-
" profit += ((price * 1.4) - price)\n",
718-
" elif item_type == \"Accessories\":\n",
719-
" if price <= 20.5:\n",
720-
" if budget >= price:\n",
721-
" budget -= price\n",
722-
" increase_price = price * 1.4\n",
723-
" sum_increase_price += increase_price\n",
724-
" increase_price_list.append(f\"{increase_price:.2f}\")\n",
725-
" profit += ((price * 1.4) - price)\n",
723+
"\n",
724+
"for i in items_and_prices:\n",
725+
" item_type, price = i.split(\"->\")\n",
726+
" price = float(price)\n",
727+
"\n",
728+
" is_valid = (item_type == \"Clothes\" and price <= 50) or (item_type == \"Shoes\" and price <= 35) or (\n",
729+
" item_type == \"Accessories\" and price <= 20.5)\n",
730+
"\n",
731+
" if is_valid and budget >= price:\n",
732+
" budget -= price\n",
733+
" increase_price = price * 1.4\n",
734+
" sum_increase_price += increase_price\n",
735+
" increase_price_list.append(f\"{increase_price:.2f}\")\n",
736+
" profit += ((price * 1.4) - price)\n",
737+
"\n",
726738
"items_and_prices_print = \" \".join(increase_price_list)\n",
739+
"\n",
727740
"print(items_and_prices_print)\n",
728741
"print(f\"Profit: {profit:.2f}\")\n",
742+
"\n",
729743
"if (budget + sum_increase_price) >= 150:\n",
730744
" print(\"Hello, France!\")\n",
731745
"else:\n",
@@ -807,17 +821,17 @@
807821
}
808822
],
809823
"source": [
810-
"day_events = input()\n",
811-
"day_events_list = day_events.split(\"|\")\n",
824+
"day_events = input().split(\"|\")\n",
825+
"\n",
812826
"new_day_events_list = []\n",
813827
"energy = 100\n",
814828
"coins = 100\n",
815829
"close = False\n",
816-
"for i in day_events_list:\n",
817-
" new_day_events_list.append(i.split(\"-\"))\n",
818-
"for i in range(len(new_day_events_list)):\n",
819-
" event = new_day_events_list[i][0]\n",
820-
" number = int(new_day_events_list[i][1])\n",
830+
"\n",
831+
"for i in day_events:\n",
832+
" event, number = i.split(\"-\")\n",
833+
" number = int(number)\n",
834+
"\n",
821835
" if event == \"rest\":\n",
822836
" if energy + number > 100:\n",
823837
" print(f\"You gained {100 - energy} energy.\")\n",
@@ -826,6 +840,7 @@
826840
" print(f\"You gained {number} energy.\")\n",
827841
" energy += number\n",
828842
" print(f\"Current energy: {energy}.\")\n",
843+
"\n",
829844
" elif event == \"order\":\n",
830845
" if energy >= 30:\n",
831846
" print(f\"You earned {number} coins.\")\n",
@@ -834,6 +849,7 @@
834849
" else:\n",
835850
" energy += 50\n",
836851
" print(\"You had to rest!\")\n",
852+
"\n",
837853
" elif event != \"order\" and event != \"rest\":\n",
838854
" if coins - number > 0:\n",
839855
" print(f\"You bought {event}.\")\n",
@@ -842,6 +858,7 @@
842858
" print(f\"Closed! Cannot afford {event}.\")\n",
843859
" close = True\n",
844860
" break\n",
861+
"\n",
845862
"if not close:\n",
846863
" print(f\"Day completed!\")\n",
847864
" print(f\"Coins: {coins}\")\n",

0 commit comments

Comments
 (0)