Python
Python
Zdravím potreboval by som radu s Pythonom,prešiel som z C++ na Python(chcem si ho vyskúšať) a učím sa ho tak 3 dni a mal som úlohu :na vstupe dostanem "x" ...a v ďalšom riadku "x" čísel...no a potom s tymíto číslami chcem pracovať...moje otázky 2 znejú že 1) Do čoho by bolo najvhodnejšie uložiť tie čísla?(A ako ich tam dostať)Niečo ako v C++ sú polia...a 2) Ako potom s tými číslami pracovať...napr v C++..if pole[4]==4 ....atď..proste potrebujem tie pozície..źe ak sa na i-pozícii nachádza toto tak potom toto...ďakujem
Re: Python
Spontánne mi napadajú tri spôsoby ukladania v pythone podobné poliam. To sú tzv. set, tuple a list
Tieto vytvoríš:
V praxi používaš v 99% prípadoch listiny, keďže sú najflexibilnejšie. Funkcie append, extend, pop ti umožnia meniť dĺžku listín. Takisto si pozri ako infixy + a * fungujú s listinami.
Všetky tri druhy adresuješ podobne ako v c++
V poslednom kroku som prepísal 5. Ako vidieť listiny môžeš dynamicky zväčšovať. Pri práci s veľkými listinámi to môže spôsobiť značný overhead a v tomto prípade by som použil ndarray z numpy balíku. Tieto fungujú podobne ak matlabovské matice.
Viac sa dozvieš tu.
Tieto vytvoríš:
Kód: Vybrať všetko
a=[1,5,'som string', [[2],'3']]#list
b=(1,5,'som string',[(2,),'3'])# tuple
c=set(b)# set
Všetky tri druhy adresuješ podobne ako v c++
Kód: Vybrať všetko
>>> a[0]
1
>>> a[3][0]
[2]
>>> a[2][1]
't'
>>> a[1]=[3,4]
Viac sa dozvieš tu.
Gaming: i5-4570, Asus GTX 970 mini, AsRock H87m-ITX, Samsung 850 Pro 256 Gb SSD, Projektor Optoma GT1080
Notebook: Clevo P156SM-A, i7-4810MQ, GTX 880m
Notebook: Clevo P156SM-A, i7-4810MQ, GTX 880m
Re: Python
Tak spravil som niečo takéto
problém je v tom že na inpute ich musím hádzať tie čísla pod seba a nie do jedného riadku ...namiesto 3 4 5[Enter]..musím 3[Enter]4[Enter]....atď...ale funguje to..ale nie v jednom riadku,takže ako to dám prosím ťa do 1 riadku?
Kód: Vybrať všetko
pole=[]
cislo=int(input(""))
for i in range (1,cislo+1):
number=int(input("cislo"))
pole.append(number)
print (pole)
Re: Python
Problém som vyriešil nasledovne :
Kód: Vybrať všetko
kladne=0
zapor=0
cislo=int (input(""))
seria=input("")
bar=seria.split()
for i in range(0,cislo):
num=int(bar[i])
if num>0 :
kladne+=1
elif num<0 :
zapor+=1
if kladne>zapor:
print ("pravica")
elif zapor>kladne:
print ("lavica")
else:
print("lavopravostred")
Re: Python
Nie je mi celkom jasné čo je cielom toho druhého programu ale ak chceš cez input zadefinovať listinu tak:
Kód: Vybrať všetko
>>> a=input()
1,2,5
>>> print type(a), a
<type 'tuple'> (3, 4, 5)
>>> a=list(a)
>>> print type(a), a
<type 'list'> [3, 4, 5]
Gaming: i5-4570, Asus GTX 970 mini, AsRock H87m-ITX, Samsung 850 Pro 256 Gb SSD, Projektor Optoma GT1080
Notebook: Clevo P156SM-A, i7-4810MQ, GTX 880m
Notebook: Clevo P156SM-A, i7-4810MQ, GTX 880m