Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/31/12 in all areas

  1. * Articolul original a fost scris de mine, Bogdan Condurache, pentru Wolrdit* Vom continua subiectul dezb?tut în articolul anterior, deoarece, atât despre liste, cât ?i despre tuples mai sunt multe de spus. S? începem cu un mic exemplu în care o propozi?ie citit? de la tastatur? va fi afi?at? într-un chenar, în centrul ferestrei. # Prints a sentence in a centered "box" of correct width # Note that the integer division operator (//) only works in Pytho # 2.2 and newer. In earlier versions, simply use plain division (/ sentence = raw_input("Sentence: ") screen_width = 80 text_width = len(sentence) box_width = text_width + 6 left_margin = (screen_width - box_width) // 2 print print ' ' * left_margin + '+' + '-' * (box_width-2) + '+' print ' ' * left_margin + '| ' + ' ' * text_width + ' |' print ' ' * left_margin + '| ' + sentence + ' |' print ' ' * left_margin + '| ' + ' ' * text_width + ' |' print ' ' * left_margin + '+' + '-' * (box_width-2) + '+' print raw_input() #programul va astepta apasarea unei taste inainte de inchidere Exemplul este destul de u?or de în?eles, de aceea nu voi insista asupra lui ?i vom trece mai departe. Apartenen?a >>> permisiuni = 'ab' >>> 'a' in permisiuni True >>> 'w' in permisiuni False >>> utilizatori = ('Andrei', 'Cristi', 'Bogdan') >>> raw_input('nume: ') in utilizatori nume: Bogdan True >>> raw_input('nume: ') in utilizatori nume: Dinozaur False Dup? cum a?i putut observa, prin intermediul in se verific? apartenen?a unui string (sau list? sau tuple) într-un alt string (sau list? sau tuple). Un exemplu pentru observa?ia de mai sus: >>> subiect = '!!! Important !!!' >>> '!!!' in subiect True Exemplul urm?tor este un program ce con?ine o „baz? de date” (defapt este o banal? list?) preconceput? ?i verific? dac? combina?ia user – parol? citit? de la tastatur? se afl? în list?. Am fost nevoit s? folosesc instruc?iunea if. Pentru a v-o explica pe scurt, pot spune c? aceast? instruc?iune verific? dac? declara?ia imediat urm?toare (denumit? ?i condi?ie) este adev?rat? ?i, în caz afirmativ, comanda de dup? condi?ie va fi executat?. db = [ ['andrei', '1337'], ['bogdan', '8080'], ['raul', '2425'], ['ionut', '7331'] ] nume = raw_input('Nume: ') passw = raw_input('Parola: ') if [nume, passw] in db: print 'Acceptat' În cazul de fa??, prin if se verific? dac? lista alc?tuit? din nume ?i parol? este prezent? în lista denumit? db ?i dac? da, se va afi?a Acceptat. Func?ii utile Am folosit în primul exemplu de azi func?ia len() , care returneaz? lungimea unui string. Aceasta al?turi de min() ?i max() pot fi foarte utile în utilizarea stringurilor. Exemplele de ma jos explic? foarte bine utilizarea acestor func?ii. >>> numbers = [100, 34, 678] >>> len(numbers) 3 >>> max(numbers) 678 >>> min(numbers) 34 >>> max(2, 3) 3 >>> min(9, 3, 2, 5) 2 Func?ia list Avantajul unei liste este c?, spre deosebire de un string, poate fi manipulat. De aceea se poate dovedi util în unele cazuri s? transformi un string în list? ?i, eventual, invers. >>> list('WorldIT') ['W', 'o', 'r', 'l', 'd', 'I', 'T'] >>> convert = list('WorldIT') >>> convert ['W', 'o', 'r', 'l', 'd', 'I', 'T'] >>> convert2 = ''.join(convert) >>> convert2 'WorldIT' >>> type(convert) <type 'list'> >>> type(convert2) <type 'str'> Despre join voi spune mai multe într-un articol viitor. Opera?ii de baz? cu listele V-am tot spus c? o list? poate fi modificat?. Ei, a sosit timpul s? vede?i cum pute?i modifica o list?, lucru care e destul de simplu. >>> a = [1, 2, 3] >>> a[1] = 5 >>> a [1, 5, 3] Aten?ie, nu se poate modifica o valoare care nu exist? (în cazul de fa??, nu a? putea modifica a[5]). Pentru a ?terge ?i a ad?uga (la sfâr?it) elemente în list? se folose?te del, respectiv append (care este o metod? – method): >>> del a[2] >>> a [1, 5] >>> a.append(9) >>> a [1, 5, 9] O alt? metod? folosit? pentru a modifica (de data aceasta p?r?i mai mari) dintr-o list? este aceea de a te folosi de slicing: >>> name = list('Perl') >>> name[1:] = list('ython') >>> name ['P', 'y', 't', 'h', 'o', 'n'] În urm?torul exemplu, acest? metod? este folosit? pentru a înlocui caractere de la cap?tul listei (similar cu del, iar în alte cazuri se poate folosi în locul lui append): >>> numbers = [1, 5] >>> numbers[1:1] = [2, 3, 4] >>> numbers [1, 2, 3, 4, 5] Methods Alte câteva metode utile ar fi: count – num?r? de câte ori apare un obiect într-o list? >>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to') 2 >>> x = [[1, 2], 1, 1, [2, 1, [1, 2]]] >>> x.count(1) 2 >>> x.count([1, 2]) 1 extend – asem?n?toare cu concatenarea, doar c? aceasta modific? lista ini?ial? >>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> a.extend( >>> a [1, 2, 3, 4, 5, 6] index – returneaz? pozi?ia primei apari?ii a unui element în list? >>> knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni'] >>> knights.index('who') 4 >>> knights.index('herring') Traceback (innermost last): File "<pyshell#76>", line 1, in ? knights.index('herring') ValueError: list.index(x): x not in list insert – insereaz? un element în list?, pe pozi?ia specificat? >>> numbers = [1, 2, 3, 5, 6, 7] >>> numbers.insert(3, 'four') >>> numbers [1, 2, 3, 'four', 5, 6, 7] pop – elimin? ?i returneaz? un element de pe pozi?ia specificat? >>> x = [1, 2, 3] >>> x.pop() 3 >>> x [1, 2] >>> x.pop(0) 1 >>> x [2] remove – elimin? prima apari?ie a obiectului specificat >>> x = ['to', 'be', 'or', 'not', 'to', 'be'] >>> x.remove('be') >>> x ['to', 'or', 'not', 'to', 'be'] reverse – inverseaz? lista >>> x = [1, 2, 3] >>> x.reverse() >>> x [3, 2, 1] sort – sorteaz? lista >>> x = [4, 6, 2, 1, 7, 9] >>> x.sort() >>> x [1, 2, 4, 6, 7, 9] sortare invers?: >>> x = [4, 6, 2, 1, 7, 9] >>> x.sort(reverse=True) >>> x [9, 7, 6, 4, 2, 1] atribuirea gre?it? dup? sortare: >>> x = [4, 6, 2, 1, 7, 9] >>> y = x.sort() # sort returneaza None >>> print y None atribuirea corect? dup? sortare: >>> x = [4, 6, 2, 1, 7, 9] >>> y = x[:] >>> y.sort() >>> x [4, 6, 2, 1, 7, 9] >>> y [1, 2, 4, 6, 7, 9] Încheiere Nu am mai insistat asupra metodelor, deoarece consider c? sunt u?or de în?eles din exemple. V? recomand s? nu le toci?i, ci, s? le folosi?i cât mai des ?i astfel v? ve?i obi?nui cu cele de care ave?i nevoie. Dac? uita?i cum s? face?i un lucru folosind o metod?, nu e nicio problem?. Pute?i s? c?uta?i pe Google, sau, de ce nu, s? v? folosi?i de acest articol. Voi termina aceast? „serie” data viitoare, când v? voi prezenta mai multe despre tuples. *Am folosit exemple de cod din cartea Beginning Python: From Novice to Professional de Magnus Lie Hetland, ISBN: 159059519X *
    1 point
  2. INSANE the best offroad game ever - YouTube din astea 3 ceva?
    -1 points
  3. cam din ce ai spus mai sus cred ca e insane
    -1 points
  4. EU STIU , eu stiu era jocul meu preferat REVOLT este???
    -1 points
  5. Sunteti chiori in cacat? Nu vedeti ca a scris mai sus ca l-a gasit?
    -1 points
  6. Oamenii vor +1 rep de aia mai posteaza:-j
    -1 points
×
×
  • Create New...