<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Python II
Wiederholung
Step1:  2 Viel mächtigere Funktion
Step2:  3 Aber wie sind Funktion, Modules und Libraries aufgebaut?
Step3:  4 Bauen wir die eigenen Funktion
Bauen wir ganze Sätze, aus Listen von Strings
Step4:  Und zum aufrufen packe ich meine List in Klammen ()
Step5:  Bauen wir eine simple Suche
Step6:  5 Struktur und Troubleshooting
Zuerst die Imports
Dann die eigenen Funktionen
Nun der eigentliche Code
<ASSISTANT_TASK:>
Python Code:
lst = [11,2,34, 4,5,5111]
len(lst)
len([11,2,'sort',4,5,5111])
sorted(lst)
lst
lst.sort()
lst
min(lst)
max(lst)
str(1212)
sum([1,2,2])
lst
lst.remove(4)
lst.append(4)
string = 'hello, wie geht, es Dir?'
string.split(',')
Explanation: Python II
Wiederholung: die wichtigsten Funktion
Viel mächtigere Funktion: Modules und Libraries
Schauen wir uns diese simplen Funktionen genauer an
Bauen wir die eigenen Funktionen
Struktur und Troubleshooting
1 Wichtigste Funktionen
Eine Übersicht der 64 wichtigsten simplen Python-Funktionen sind hier gelistet.
End of explanation
import urllib 
import requests
import glob
import pandas
from bs4 import BeautifulSoup
import re
#etc. etc.
def sort(string):
    elem = input('Bitte geben Sie den Suchbegriff ein: ')
    if elem in string:
        return 'Treffer'
    else:
        return 'Kein Treffer'
string_test = "«Guten Tag, ich bin der, der Sie vor einer Stunde geweckt hat», sagte der Moderator des Podiums in Stockholm, als er am Montagmittag den US-Wissenschaftler Richard H. Thaler anrief. Für seine Erforschung der Psychologie hinter wirtschaftlichen Entscheidungen bekommt dieser den Nobelpreis für Wirtschaft. Das gab die Königlich-Schwedische Wissenschaftsakademie bekannt. Der 72-Jährige lehrt an der Universität Chicago. Der Verhaltensökonom habe gezeigt, dass begrenzte Rationalität, soziale."
string_test
def suche(elem, string):
    #elem = input('Bitte geben Sie den Suchbegriff ein: ')
    if elem in string:
        return 'Treffer'
    else:
        return 'Kein Treffer'
    
suche(strings[1], string_test)
strings = ['Stockholm', 'blödes Wort', 'Rationalität', 'soziale']
for st in strings:
    ergebnis = suche(st, string_test)
    print(st, ergebnis)
suche(string_test)
suche(string_test)
lst = [1,3,5]
len(lst)
Explanation: 2 Viel mächtigere Funktion: Modules und Libraries
Modules & Libraries
End of explanation
import os
#Funktioniert leider nicht mit allen Built in Functionen
os.path.split??
#Beispiel Sort
def sort(list):
    for index in range(1,len(list)):
        value = list[index]
        i = index-1
        while i>=0:
            if value < list[i]:
                list[i+1] = list[i]
                list[i] = value
                i -= 1
            else:
                break
    return list
#Ganz komplexe. Wenn Du nicht mit dem Modul urllib, bzw. urlretrieve 
#arbeiten könntest, müsstest Du jetzt all das eintippen.
def urlretrieve(url, filename=None, reporthook=None, data=None):
    url_type, path = splittype(url)
    with contextlib.closing(urlopen(url, data)) as fp:
        headers = fp.info()
        # Just return the local path and the "headers" for file://
        # URLs. No sense in performing a copy unless requested.
        if url_type == "file" and not filename:
            return os.path.normpath(path), headers
        # Handle temporary file setup.
        if filename:
            tfp = open(filename, 'wb')
        else:
            tfp = tempfile.NamedTemporaryFile(delete=False)
            filename = tfp.name
            _url_tempfiles.append(filename)
        with tfp:
            result = filename, headers
            bs = 1024*8
            size = -1
            read = 0
            blocknum = 0
            if "content-length" in headers:
                size = int(headers["Content-Length"])
            if reporthook:
                reporthook(blocknum, bs, size)
            while True:
                block = fp.read(bs)
                if not block:
                    break
                read += len(block)
                tfp.write(block)
                blocknum += 1
                if reporthook:
                    reporthook(blocknum, bs, size)
    if size >= 0 and read < size:
        raise ContentTooShortError(
            "retrieval incomplete: got only %i out of %i bytes"
            % (read, size), result)
    return result
import urllib.request
with urllib.request.urlopen('http://tagesanzeiger.ch/') as response:
    html = response.read()
html
Explanation: 3 Aber wie sind Funktion, Modules und Libraries aufgebaut?
End of explanation
lst = ['ich', 'habe', None, 'ganz', 'kalt']
def join(mylist):
    long_str = ''
    for elem in mylist:
        try:
            long_str = long_str + elem + " "
        except:
            None     
    return long_str.strip()
join(lst)
Explanation: 4 Bauen wir die eigenen Funktion
Bauen wir ganze Sätze, aus Listen von Strings
End of explanation
join(lst)
string = '    ich habe ganz kalt       '
string.strip()
Explanation: Und zum aufrufen packe ich meine List in Klammen ()
End of explanation
satz = "Die Unabhängigkeit der Notenbanken von der Politik gilt bisher als anerkannter Grundpfeiler der modernen Wirtschafts- und Geldpolitik in fortgeschrittenen Volkswirtschaften. Zu gross wäre sonst das Risiko, dass gewählte Politiker die Notenpresse anwerfen, wenn es ihren persönlichen Zielen gerade gelegen kommt, und dass dadurch die Stabilität des Geldes und das Vertrauen in das Zahlungsmittel untergraben wird."
sort(satz)
def find(string):
    elem = input('Bitte geben Sie den Suchbegriff ein: ')
    if elem in string:
        return 'Treffer'
    else:
        return 'Kein Treffer'
find(satz)
Explanation: Bauen wir eine simple Suche
End of explanation
print('Immer im Code verwenden, um zu wissen wo der Fehler nun ganz genau passiert.')
#Beispiel Sort
def sort(list):
    for index in range(1,len(list)):
        value = list[index]
        print(value)
        i = index-1
        print(i)
        while i>=0:
            if value < list[i]:
                list[i+1] = list[i]
                list[i] = value
                i -= 1
            else:
                break
    return list
sort(lst)
lst
Explanation: 5 Struktur und Troubleshooting
Zuerst die Imports
Dann die eigenen Funktionen
Nun der eigentliche Code
End of explanation
<END_TASK>