1.5.4. Pobierz n liczb

ZADANIE: Pobierz od użytkownika n liczb i zapisz je w liście. Wydrukuj: elementy listy i ich indeksy, elementy w odwrotnej kolejności, posortowane elementy. Usuń z listy pierwsze wystąpienie elementu podanego przez użytkownika. Usuń z listy element o podanym indeksie. Podaj ilość wystąpień oraz indeks pierwszego wystąpienia podanego elementu. Wybierz z listy elementy od indeksu i do j.

POJĘCIA: tupla, lista, metoda.

Wszystkie poniższe przykłady warto wykonać w konsoli Pythona. Treść komunikatów w funkcjach print można skrócić. Można również wpisywać kolejne polecenia do pliku i sukcesywanie go uruchomiać.

Kod nr
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#! /usr/bin/env python
# -*- coding: utf-8 -*-

# ~/python/04_1_listy.py

tupla = input("Podaj liczby oddzielone przecinkami: ")
lista = []
for i in range(len(tupla)):
    lista.append(int(tupla[i]))

print "Elementy i ich indeksy:"
for i, v in enumerate(lista):
    print v, "[", i, "]"

print "Elementy w odwróconym porządku:"
for e in reversed(lista):
    print e,

print ""
print "Elementy posortowane rosnąco:"
for e in sorted(lista):
    print e,

print ""
e = int(raw_input("Którą liczbę usunąć? "))
lista.remove(e)
print lista

print "Dodawanie elementów do listy"
a, i = input("Podaj element i indeks oddzielone przecinkiem: ")
lista.insert(i, a)
print lista

print "Wyszukiwanie i zliczanie elementu w liście"
e = int(raw_input("Podaj liczbę: "))
print "Liczba wystąpień: "
print lista.count(e)
print "Indeks pierwszego wystąpienia: "
if lista.count(e):
    print lista.index(e)
else:
    print "Brak elementu w liście"

print "Pobieramy ostatni element z listy: "
print lista.pop()
print lista

print "Część listy:"
i, j = input("Podaj indeks początkowy i końcowy oddzielone przecinkiem: ")
print lista[i:j]

Funkcja input() pobiera dane wprowadzone przez użytkownika podobnie jak jak raw_input(), ale próbuje zinterpretować je jako kod Pythona. Podane na wejściu liczby oddzielone przecinkami zostają spakowane jako tupla (krotka). Jest to uporządkowana sekwencja poindeksowanych danych, przypominająca tablicę, której wartości nie można zmieniać. Zainicjowanie tupli wartościami od razu w kodzie jest proste: tupla = (4, 3, 5).

Lista to również uporządkowane sekwencje indeksowanych danych, zazwyczaj tego samego typu, które jednak możemy zmieniać.

Note

W definicji tupli nawiasy są opcjonalne, można więc pisać tak: tupla = 3, 2, 5, 8 Oprócz tupli i list sekwencjami są w Pythonie również napisy.

Dostęp do elementów sekwencji uzyskujemy podając nazwę i indeks, np. lista[0]. Elementy indeksowane są od 0 (zera!). Z każdej sekwencji możemy wydobywać fragmenty dzięki notacji wycinkowej (ang. slice), np.: lista[1:4].

Funkcje działające na sekwencjach:

  • len() – zwraca ilość elementów;
  • enumerate() – zwraca obiekt zawierający indeksy i elementy sekwencji;
  • reversed() – zwraca obiekt zawierający odwróconą sekwencję.
  • sorted(lista) – zwraca kopię listy posortowanej rosnąco;
  • sorted(lista, reverse=True) – zwraca kopię listy w odwrotnym porządku;

Lista ma wiele użytecznych metod:

  • .append(x) – dodaje x do listy;
  • .remove(x) – usuwa pierwszy x z listy;
  • .insert(i, x) – wstawia x przed indeksem i;
  • .count(x) – zwraca ilość wystąpień x;
  • .index(x) – zwraca indeks pierwszego wystąpienia x;
  • .pop() – usuwa i zwraca ostatni element listy;
  • .sort() – sortuje listę rosnąco;
  • .reverse() – sortuje listę w odwróconym porządku.

1.5.4.1. Zadania dodatkowe

Utwórz w konsoli Pythona dowolną listę i przećwicz notację wycinkową. Sprawdź działanie indeksów pustych i ujemnych, np. lista[2:], lista[:4], lista[-2], lista[-2:]. Posortuj trwale dowolną listę malejąco. Utwórz kopię listy posortowaną rosnąco.


Licencja Creative Commons Materiały Python 101 udostępniane przez Centrum Edukacji Obywatelskiej na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowa.

Utworzony:2017-09-08 o 19:38 w Sphinx 1.4.5
Autorzy:Patrz plik “Autorzy”