Sur Ba Programming Challenge

Ha egy listát tudnék vezetni az összes esetről...


...szerencsére tudok. A Pythonban létezik egy "lista" nevű adatszerkezet, ami pont az, amit a név alapján gondolnánk.

Egy üres listát a [] literállal hozhatunk létre, vagy akár rögtön bele is rámolhatunk dolgokat: [10, 20.3, "alma", x] egy listát hoz létre amiben egy egész, egy valós, egy szöveg és az x változó értéke van.

#!/usr/bin/python

import random
import cgitb
cgitb.enable()

numbers = []
for x in range(050):
    numbers.append(random.randrange(01000));

print "Content-type: text/html\n\n"
print "<h1>Numbers!</h1>"
print "<p>I love numbers. Here's a few for you:<br>", numbers, "</p>"
print "<p>The length of the list is "len(numbers)". The third element in the list is ", numbers[2]"</p>"

largest = -1
for num in numbers:
    if (num > largest):
        largest = num

print "<p>The largest number is <b>", largest, "</b>"

http://apocalypse.rulez.org/~upi/surba/list.py [source]

Vegyük észre:

  • A cgitb modul komoly segítséget jelent Python programok hibáinak felderítésében. Ha a program futása közben történik valami gikszer, akkor szépen kiírja színes-szagos formában. Akkor nem segít, ha a program szintaktikai hiba miatt nem értelmezhető, ilyenkor csak a PuTTY-os módszer célravezető.
  • A for egy új ciklus szervező utasítás ami egy megadott intervallumon halad végig, vagy egy lista tartalmán.
  • A print parancs képes egy teljes listát kiírni.
  • A lista hosszát a len eljárással tudhatjuk meg.
  • A listában tetszőleges elemet meg tudunk címezni a lista[szám] formulával. Az elemeket 0-tól számozzuk, mind mindig, tehát a list[2] a harmadik elemet adja vissza.

Feladatok

  • Legyen paraméterezhető a lista mérete!
  • Írjuk ki a legkisebb számot is a listában.
  • Írjuk ki a páros számokat.
  • Hogyan lehetne a második for ciklust úgy megírni, hogy nem használjuk fel azt a tudásunkat, hogy a legkisebb lehetséges szám a 0?
  • Írjuk ki a számok átlagát.
  • Bónusz feladat: Írjuk ki a számokat növekvő sorrendben!
Utoljára módosította UPi 2017.VI.28 12:42-n
Bejegyzés módosítása | PermaLink
Votes disabled.

Hozzászólások (3)

SurBa hozzászólása 2017-06-28 20:32-kor

A szintaxis még mindig megizzaszt, de ez volt a második kedvenc bónuszfeladatom!
paraméterezhető: http://apocalypse.rulez.org/~surba/param1.py?p=3 [source] (p a paraméter)
páros: http://apocalypse.rulez.org/~surba/paros1.py?p=3 [source] (ezt is paraméteresen csináltam mert általánosabb és jobban tetszik úgy)
ciklus átírva: http://apocalypse.rulez.org/~surba/piros1.py?p=3 [source]
átlag: http://apocalypse.rulez.org/~surba/atlagos1.py?p=3 [source]
bónusz: http://apocalypse.rulez.org/~surba/szep1.py?p=3 [source] (itt izzadtam a szintaxis miatt, és mert nem akartam túl sok listát beletenni, de még nem tudok elég varázslatot hozzá, viszont nagyon élveztem!)


SurBa hozzászólása 2017-06-28 22:27-kor

(Válaszképp erre)

nemér, nem tudtam editelni a bónuszt elszúrtam és elvileg a szep2-ben lesz a megoldás egy kicsit más megközelítéssel ha nem kerülök végtelen ciklusba


UPi hozzászólása 2017-06-28 20:35-kor

http://apocalypse.rulez.org/~surba/szep1.py?p=10 [source] hibát ír ki:
type 'exceptions.IndexError' 37-edik sorban.

Tagek: