Informatika1-2012/HF3

A MathWikiből
(Változatok közti eltérés)
 
(2 szerkesztő 4 közbeeső változata nincs mutatva)
1. sor: 1. sor:
Írj Sage függvényt, ''max_szomszed'' néven. A bemenete egy lista, a kimenete egy szótár, mely tartalmazza minden a listában elõforduló elemhez (mint kulcshoz) a szomszédainak maximális összegét. Az elsõ és utolsó elemét a listának hagyjuk figyelmen kívül, tehát csak az 1-tõl a lista hossz-1-ig kell vizsgálnunk az elemeket.
+
Írj Sage függvényt, max_szomszed néven. A bemenete egy lista, a kimenete egy szótár, mely tartalmazza minden a listában elõforduló elemhez (mint kulcshoz) a szomszédainak maximális összegét. Az elsõ és utolsó elemét a listának hagyjuk figyelmen kívül, tehát csak az 1-tõl a lista hossz-1-ig kell vizsgálnunk az elemeket.
 
+
 
Például, a [3,2,2,3,2,5,3,3,2,2,5,2,5,2] bemenetre a {2: 10, 3: 8, 5: 5} szótárat kapjuk, mivel a 2-es szerepel 2 darab 5-ös között az utolsó elõtti elõtti helyen, a 3-as szerepel 1 darab 5-ös és 1 darab 3-as között a közepe felé, és az 5-ös legnagyobb szomszédianak az összege is csak 5 (ez is a közepe felé).
 
Például, a [3,2,2,3,2,5,3,3,2,2,5,2,5,2] bemenetre a {2: 10, 3: 8, 5: 5} szótárat kapjuk, mivel a 2-es szerepel 2 darab 5-ös között az utolsó elõtti elõtti helyen, a 3-as szerepel 1 darab 5-ös és 1 darab 3-as között a közepe felé, és az 5-ös legnagyobb szomszédianak az összege is csak 5 (ez is a közepe felé).
 
 
Ha máshogy nem megy, akkor feltételezhetjük hogy a listában csak nemnegatív elemek vannak.
 
Ha máshogy nem megy, akkor feltételezhetjük hogy a listában csak nemnegatív elemek vannak.
  
 +
A házit most .sws (Sage worksheet) formátumban kérjük. (A Worksheet-ed tetején bal oldalt a 'File...' menüben 'Save worksheet to a file...', és persze T<tankör>_HF3_<userneved>.sws legyen a levélhez csatolt file neve.)
  
A házit most .sws (Sage worksheet) formátumban kérjük. (A Worksheet-ed tetején bal oldalt a 'File...' menüben 'Save worksheet to a file...', és persze T<tankör>_HF3_<userneved>.sws legyen a levélhez csatolt file neve.)
+
Segítség:
 +
*for ciklusban használjátok a range függvényt, hogy a lista indexein tudjatok végigmenni
 +
*hasznos lehet a len függvény
 +
*üres szótárat a következõ módon definiálhattok: d = {}
 +
*az i. indexû elemét az L listának L[i]-vel érjük el, a szomszédai az i-1. és i+1. indexû elemek
 +
*két ötlet a szótár 0-kal való feltöltésére (ekkor már csak nemnegatív elemekre lesz jó a függvény):
 +
*for ciklus fusson a lista megfelelõ elemein, és a szótár megfelelõ kulcshoz tartozó értékét állítsuk 0-ra
 +
*használjuk ki, hogy a halmazban nincsenek ismételt elemek, és rajta is végig lehet menni for ciklussal

A lap jelenlegi, 2012. október 7., 14:24-kori változata

Írj Sage függvényt, max_szomszed néven. A bemenete egy lista, a kimenete egy szótár, mely tartalmazza minden a listában elõforduló elemhez (mint kulcshoz) a szomszédainak maximális összegét. Az elsõ és utolsó elemét a listának hagyjuk figyelmen kívül, tehát csak az 1-tõl a lista hossz-1-ig kell vizsgálnunk az elemeket. Például, a [3,2,2,3,2,5,3,3,2,2,5,2,5,2] bemenetre a {2: 10, 3: 8, 5: 5} szótárat kapjuk, mivel a 2-es szerepel 2 darab 5-ös között az utolsó elõtti elõtti helyen, a 3-as szerepel 1 darab 5-ös és 1 darab 3-as között a közepe felé, és az 5-ös legnagyobb szomszédianak az összege is csak 5 (ez is a közepe felé). Ha máshogy nem megy, akkor feltételezhetjük hogy a listában csak nemnegatív elemek vannak.

A házit most .sws (Sage worksheet) formátumban kérjük. (A Worksheet-ed tetején bal oldalt a 'File...' menüben 'Save worksheet to a file...', és persze T<tankör>_HF3_<userneved>.sws legyen a levélhez csatolt file neve.)

Segítség:

  • for ciklusban használjátok a range függvényt, hogy a lista indexein tudjatok végigmenni
  • hasznos lehet a len függvény
  • üres szótárat a következõ módon definiálhattok: d = {}
  • az i. indexû elemét az L listának L[i]-vel érjük el, a szomszédai az i-1. és i+1. indexû elemek
  • két ötlet a szótár 0-kal való feltöltésére (ekkor már csak nemnegatív elemekre lesz jó a függvény):
  • for ciklus fusson a lista megfelelõ elemein, és a szótár megfelelõ kulcshoz tartozó értékét állítsuk 0-ra
  • használjuk ki, hogy a halmazban nincsenek ismételt elemek, és rajta is végig lehet menni for ciklussal
Személyes eszközök