Informatik Wpf 6 20201110

2007, 2024 Oskar Wagner

| Start | Education | Fernunterricht | Informatik Wpf 6
$$ \def\Forall{\enskip \forall} \def\forthat{\;\bigm|\;} \def\hateq{\mathrel{\widehat{=}}} \def\hint#1{\quad\color{maroon}{\small\textit{#1}}} \def\stx#1{\small\textrm{#1}} \def\guide#1{\quad{\stx{#1}}} \def\ol#1{\overline{#1}} \def\lraq{ \quad\leftrightarrow\quad } \def\Lraq{ \quad\Leftrightarrow\quad } \def\ra{ \,\rightarrow\, } \def\raq{ \quad\rightarrow\quad } \def\Ra{ \,\Rightarrow\, } \def\Raq{ \quad\Rightarrow\quad } \def\ux#1{\;\textrm{#1}} \newcommand\m[1][]{#1\ux{m}} \newcommand\mm[1][]{#1\ux{mm}} \newcommand\cm[1][]{#1\ux{cm}} \newcommand\km[1][]{#1\ux{km}} \newcommand\qm[1][]{#1\ux{m}^2} \newcommand\cel[1][]{#1\,^\circ\textrm{C}} \newcommand\deg[1][]{#1\,^\circ} \newcommand\eur[1][]{#1\ux{€}} \newcommand\pct[1][]{#1\,\%} \newcommand\prm[1][]{#1\,{}^\text{o}\mkern-5mu/\mkern-3mu_\text{oo}} $$

Achte beim Lesen der Lektion darauf, dass du den Sinn jedes Absatzes erfasst.

Schreibe und teste den Beispielcode schrittweise wie in der Lektion vorgegeben.

Die Aufgaben (Hinweise am Ende des Textes) sind als Python-Quellcode auszuführen und per eMail bis zum 11. November 2020 (Mittwoch) an die Lehrkraft zu schicken.

In dieser Lektion zur Programmiersprache Python geht es um Listen. Listen zählen zu den strukturierten Datentypen.

Programmieren mit Python: Listen

Eine Liste (oder Sequenz, Folge) besteht aus einer geordneten Anzahl von Elementen. Jedes Element (item) enthält einen Wert (eines beliebigen Datentyps).

Auf ein einzelnes Element kann über seine Position (index) in der Liste zugegriffen werden. Das erste Element hat den Index [0].

# -*- coding: iso-8859-15 -*-
# --------------------------------------------------------------
# 04.10.2016  ow  /  lists.py  /  python


# define a main procedure
def Main():
  print("! Lists !")
  #
  liste = ['A', 'B', 56, 47, ['Liste', 'in', 'Liste'], 'aha']
  print(liste)
  print(liste[4])

#--- main program ---#
Main()

Ein negativer Index zählt vom Ende der Liste, zum letzten Element führt also der Index [-1].
Mit einem Index der Form [start:end] wird eine Teilliste (slice) erzeugt, die alle Elemente mit den Indizes start bis end enthält.
Die Funktion len() liefert die Anzahl der Elemente.

# print information about a list
def PrintListInfo(alist):
  print("Diese Liste hat ", len(alist), 'Elemente.')
  print("erstes Element:", alist[0])
  print("zweites Element:", alist[1])
  print("letztes Element:", alist[-1])
  

# define a main procedure
def Main():
  print("! Lists !")
  #
  liste = ['A', 'B', 56, 47, ['Liste', 'in', 'Liste'], 'aha']
  print(liste)
  print(liste[4])
  print(liste[1:3])
  #
  PrintListInfo(liste)

#--- main program ---#
Main()

Die Methode .pop() entfernt ein Element aus der Liste und gibt es als Funktionswert zurück.
Die Methode .append() hängt ein Element am Ende der Liste an.

Was macht die Prozedur PopPush() im folgenden Beispiel?

# change order of a list
def PopPush(alist, index):
  # remove item at position index..
  item = alist.pop(index)
  # ..and append it at the end of the list
  alist.append(item)


# define a main procedure
def Main():
  print("! Lists !")
  #
  liste = ['A', 'B', 56, 47, ['Liste', 'in', 'Liste'], 'aha']
  print(liste)
  print(liste[4])
  print(liste[1:3])
  #
  PrintListInfo(liste)
  #
  PopPush(liste, 3)
  print(liste)

#--- main program ---#
Main()

Die Funktion range(start, stop, step) erzeugt einen Bereich von Zahlen ab start bis stop mit der Schrittweite step.
Um diesen Zahlenbereich als Liste auszugeben, ist eine Typumwandlung in eine Liste erforderlich. Die Funktion list() führt diese Typkonvertierung durch.

# define a main procedure
def Main():
  print("! Lists !")
  #
  liste = ['A', 'B', 56, 47, ['Liste', 'in', 'Liste'], 'aha']
  print(liste)
  print(liste[4])
  print(liste[1:3])
  #
  PrintListInfo(liste)
  #
  PopPush(liste, 3)
  print(liste)
  #
  # create a list of numbers
  bereich = range(2, 37, 7)
  print(bereich)
  print(list(bereich))

#--- main program ---#
Main()

Eine Zeichenkette (string) kann als Liste von Zeichen (Buchstaben) aufgefasst werden. Dementsprechend kann auf einzelne Zeichen über ihren Index (auch als slice) zugegriffen werden.

# define a main procedure
def Main():
  print("! Lists !")
  #
  liste = ['A', 'B', 56, 47, ['Liste', 'in', 'Liste'], 'aha']
  print(liste)
  print(liste[4])
  print(liste[1:3])
  #
  PrintListInfo(liste)
  #
  PopPush(liste, 3)
  print(liste)
  #
  # create a list of numbers
  bereich = range(2, 37, 7)
  print(bereich)
  print(list(bereich))
  #
  # part of a string
  print('Hallo Max!'[1:-2])

#--- main program ---#
Main()

Aufgaben

Implementiere und teste den Beispielcode der Lektion.

Definiere und teste eine Prozedur AppendFirst(alist), die das erste Element der Liste alist am Ende der Liste anhängt.
Erweitere dazu den Beispielcode passend (Prozedur und Testaufrufe).

Hinweise zur Durchführung:

  1. Verwende SciTE, um den Quellcode zu schreiben, zu speichern und zu testen.
  2. Schicke die fertige Quellcodedatei (Beispielcode samt allen Ergänzungen) per eMail.

Siehe auch Python Express

Erhaltene Arbeiten:

2020.6WPFBlBrDrGaHaHeKaNi
Erhalten xxxxx