Lapā tiek izmantotas sīkdatnes 

Sastrēgumstunda


Situācija

Autostāvvieta ir attēlota kā divdimensiju saraksts (list of lists). Katrā saraksta elementā ir informācija par vienu stāvvietu:

Piemēram:

stavvieta = [
    ["🚗", "", "🚗", "🚗", ""],
    ["", "🚗", "", "", "🚗"],
    ["🚗", "🚗", "🚗", "", ""],
    ["", "", "🚗", "🚗", "🚗"]
]

Šajā autostāvvietā ir 4 rindas un 5 vietas katrā rindā. Automašīnas attēlotas kā emoji simboli.

  • Kā vēl varētu apzīmēt vietu aizpildījumu?
  • Kādi būtu ieguvumi un trūkumi, izvēloties citu paņēmienu?

Veicamie uzdevumi

Izveido Python programmu, kas darbojas ar doto 2D sarakstu.

1. Nosaki autostāvvietas kapacitāti

Aprēķini, cik automašīnas kopumā var novietot autostāvvietā.

Piemērs: Ja ir 4 rindas un katrā rindā 5 vietas, kapacitāte ir 20 automašīnas.


2. Saskaiti aizņemtās vietas

Nosaki, cik stāvvietas pašlaik ir aizņemtas.


3. Saskaiti brīvās vietas

Nosaki, cik stāvvietas pašlaik ir brīvas.


4. Aprēķini autostāvvietas aizpildījumu procentos

Aprēķini, cik procenti no visām stāvvietām ir aizņemti.

Formula:

aizpildījums = aizņemtās vietas / kapacitāte × 100

Rezultātu izvada ar vienu ciparu aiz komata.

Piemēram:

Autostāvvietas aizpildījums: 60.0%

5. Nosaki aizņemtāko rindu

Nosaki, kurā rindā ir visvairāk aizņemtu stāvvietu.

Izvada rindas numuru un tajā esošo aizņemto vietu skaitu.

Piemēram:

Aizņemtākā ir 3. rinda – 3 aizņemtas vietas.

Rindu numerāciju lietotājam parādi, sākot ar 1, nevis 0.


6. Atrodi pirmo brīvo vietu

Meklē 2D sarakstā pirmo vietu, kuras vērtība ir "".

Izvada tās rindas un vietas numuru.

Piemēram:

Pirmā brīvā vieta: 1. rinda, 2. vieta.

Ja brīvu vietu nav, jāizvada:

Autostāvvieta ir pilna!

7. Pievieno automašīnu

Jāatrod pirmā brīvā vieta un jāmaina tās vērtība no "" uz "🚗".

Ja autostāvvieta ir pilna, jāizvada atbilstošs paziņojums.


8. Izveido autostāvvietas pārskatu

Programmas beigās izvada:

--- AUTOSTĀVVIETAS PĀRSKATS ---
Kapacitāte: 20
Aizņemtas vietas: 12
Brīvas vietas: 8
Aizpildījums: 60.0%
Aizņemtākā rinda: 3. rinda
Pirmā brīvā vieta: 1. rinda, 2. vieta

Nosacījumi

Programmā:

  • obligāti jāizmanto 2D saraksts;
  • jāizmanto for cikli;
  • jāizmanto if nosacījumi;
  • kapacitāti nedrīkst ierakstīt programmā kā konkrētu skaitli — tā jāaprēķina no 2D saraksta izmēra;
  • aizņemto un brīvo vietu skaits jāaprēķina, pārskatot 2D saraksta elementus.