- Erzeuge ein Fenster mit 640 x 640 Pixel und zeichne 64 Qudrate (Seitenlänge 80 Pixel) abwechselnd in den Farben Schwarz und Weiß. Schau dir dazu die folgenden Befehle an:
- Screen().setup()
- begin_fill(), end_fill(), fillcolor()
- bgcolor()
- Erkunde zunächst den Aufbau des Fensters. Stichwort „absolute Koordinaten“. Bisher haben wir Turtle mit forward() immer in eine vorher festgelegt Richtung gehen lassen.
Schau dir folgende Befehle/Funktionen dazu an- goto()
- penup(), pendown()
Hier findet ihr eine gute Übersicht alle Funktionen.
- Für das abwechselnde Einfärben braucht ihr noch den folgenden Operator.
Hier wird erklärt, wie der Modulo-Operator funktioniert. Versucht mal herauszufinden, wie ihr in Einsetzen könnt.
Datenbank für den Test
Aufgabe für den 28.11.2023 Erstelle eine HTML-Seite
Erstellt eine Internetseite mit mindestens 3 Unterseite (Also insgesamt 4 html-Dateien + 1 css-Datei) in der über ein Menü (für jede Seite ein Link) miteinander verknüpft sind zu einem Thema eurer Wahl.
Sucht euch ein Thema aus, am besten eins das euch wirklich interessiert, sonst wird es schnell langweilig.
Jede Seiten sollten mehrere Überschriften, min. 200 Zeichen Text und min. 3 Bilder enthalten.
Formatiert die Seiten mit CSS. Informiert euch auf selfhtml.org weiter zu CSS Eigenschaften, die ihr benötigt. Verwendet min. 10 Eigenschaften pro Seite. Dort könnt ihr auch nochmal nachlesen wie
Abhängig von eurem Wissensstand könnt ihr euch hier weiteren Informationen holen.
Für eurer Ergebnis gibt es nächste Stunde Feedback und eine Note. Anschließend werden wir an der Seite weiterarbeiten und weitere Feedbackschleifen werden folgen.
Aufgaben für den 28.11.2023 – Einführung Funktionen
Wir haben in den letzten Stunden schon oft die Buildin-Funktioen print() und input() verwendet. Heute lernt ihr, wie ihr selbst Funktionen in Python definieren könnt.
Schaut euch die drei Videos an und versucht nachzuvollziehen, was dort besprochen wird.
Jetzt sollte das Prinzip klar sein!
- Programmiert zunächst maximum-Funktion aus dem Video 3 nach, falls ihr das noch nicht gemacht habt.
- Programmiert eine weitere Funktion max_of_three(param1, param2, param3), die das Maximum aus 3 Parametern ermittelt. (Nicht schummeln und die eingebaute max-Funktion nutzen).
- Wenn die Funktion aus Aufgabe 2 ohne Syntax-Error läuft. Tausche mit deinem Nachbarn kurz die Plätze und lass die Funktion von ihm testen und teste seine.
Aufgabe 2: Zahlenratespiel
Im unteren grauen Feld findest du den Anfang eines Python-Programms mit vielen Kommentaren. Versuche die Kommentare in Python-Code zu übersetzen und deinen Programm-Code anschließen zu debuggen bis du ein funktionierendes Zahlenratespiel hast. Also Text aus der grauen Box nach Thonny kopieren und loslegen!
Das Programm soll zunächst “Willkommen beim Zahlenratespiel ! Errate eine Zaufallszahl zwischen 1 und 100″ ausgeben und dann so lange die Eingabeaufforderung „Gib eine Zahl ein: “ ausgeben bis die Zahl erraten ist. Wird eine Zahl eingegeben, bekommt der Spieler Rückmeldung, ob seine Zahl größer oder kleiner ist als die Zufallszahl des Computers. Wird die Zahl erraten, gibt das Programm aus, wie viele Versuche der Spieler benötigt hat.
# Import der Zufallszahlen-Library - einfach so lassen
import random
# eine eigene Input funktion die solange nervt bis man wirklich einen Int eingibt
def intInput(Eingabeaufforderung):
result = False
while not(result):
value = input(Eingabeaufforderung)
# Hier wird auch schon Eror-Handling verwendet
try:
zahl = int(value)
except ValueError:
result = False
else:
result = True
return zahl
# Zufällige Zahl zwischen 1 und 100 auswählen
ZielZahl = random.randint(1, 100)
# Die Variable ZielZahl enthält jetzt ein Zufallszahl zwischen 1 und 100
# Hier werden zwei Variablen anlegen, die du vielleicht brauchst
versuche = 0
geraten = False
# Der Spieler wird in zum Spielen eingeladen
print("Willkommen beim Zahlenratespiel! Errate die Zahl zwischen 1 und 100.")
# Wiederhole die Ausgabe "Gib eine Zahl ein: " bis die Zahl erraten wurde
while xyz: # xyz müsst ihr durche eine funktionierende Bedingung ersetzt werden
# Lies eine Zahl vom Benutzer ein
# benutze hier am besten unsere neuen Funktion intInput() um tatsäclich eine Zahl zurückzubekommen
# Entscheide ob die Zahl, die eingegeben wurde größer oder kleiner als die Zielzahl ist, oder ob die Zielzahl erraten wurde
# Dazu müst ihr euch evtl. nochmal die Unterlagen zu Verzeigungen anschauen.
# Gibt eine entsprechende Meldung aus
# Wenn die Zahl erraten wurde gib aus wie viele Versuche benötigt wurden
Aufgaben 2023-11-23
Aufgabe 1
Letzte Stunde haben wir ein Python-Programm begonnen und fast vollendet.
Eure erste Aufgabe ist es das Programm zu debuggen (Fehler entfernen) und gegebenenfalls so zu editieren, dass es korrekt läuft.
Vielleicht müsst ihr euch dazu Zuhause noch unseren Freund Thonny installieren. Thonny ist OpenSource (kostenlos) und kann auf Windows, Mac oder Linux problemlos installiert werden. Leider nicht auf euren iPads. Die nötigen Dateien bekommt ihr hier! Oder ihr benutzt die App Carnets, die solltet ihr auf euren iPads haben.
def intInput(Eingabeauffoderung):
# Wiederhole die Eingabeaufforderung bis der Benutzer tatsächliche eine String eingibt
result = False
while result == False:
# Lies eine Benutzereingabe ein
value = input(Eingabeauffornderung)
# Versuche die Benutzereingabe nach Int zu casten
try:
zahl = int(value)
# Fange den ValueError falls er auftritt
except ValueError:
print("Du solltest doch eine Zahl eingeben!")
result = False
# ansonsten kann die Schleife verlassen werden und der Wert zurüchgegeben werden
else:
result = True
return zahl
# Funktion aufrufen und Rückgabewert ausgeben
zahl = intInput("Gib eineZahl ein: ")
print(zahl)
Aufgabe 2
Im unteren grauen Feld findest du den Anfang eines Python-Programms mit vielen Kommentaren. Versuche die Kommentare in Python-Code zu übersetzen und deinen Programm-Code anschließend zu debuggen bis du ein funktionierendes Zahlenratespiel hast.
Das Programm soll zunächst „Willkommen beim Zahlenratespiel! Errate eine Zufallszahl zwischen 1 und 100“ ausgeben und dann so lange die Eingabeaufforderung „Gib eine Zahl ein: “ ausgeben bis die Zahl erraten ist. Wird eine Zahl eingegeben, bekommt der Spieler Rückmeldung, ob seine Zahl größer oder kleiner ist als die Zufallszahl des Computers. Wird die Zahl erraten, gibt das Programm aus, wie viele Versuche der Spieler benötigt hat.
# Import der Zufallszahlen-Library - einfach so lassen
import random
# Zufällige Zahl zwischen 1 und 100 auswählen
ZielZahl = random.randint(1, 100)
# Die Variable ZielZahl enthält jetzt ein Zufallszahl zwischen 1 und 100
# Hier sollten min. zwei weitere Variablen anlegen werden
# Der Spieler wird in zum Spielen eingeladen
print("Willkommen beim Zahlenratespiel! Errate die Zahl zwischen 1 und 100.")
# Wiederhole die Ausgabe "Gib eine Zahl ein: " bis die Zahl erraten wurde
while xyz: # xyz müsst ihr durche eine funktionierende Bedingung ersetzt werden
# Lies eine Zahl vom Benutzer ein
# benutze hier am besten unsere neuen Funktion intInput() um tatsäclich eine Zahl zurückzubekommen
# Entscheide ob die Zahl, die eingegeben wurde größer oder kleiner als die Zielzahl ist, oder ob die Zielzahl erraten wurde
# Dazu müst ihr euch evtl. nochmal die Unterlagen zu Verzeigungen anschauen.
# Gibt eine entsprechende Meldung aus
# Wenn die Zahl erraten wurde gib aus wie viele Versuche benötigt wurden
Kommst du alleine nicht weiter, tausche dich mit anderen über Whatsapp oder andere Kanäle aus. „Ich weiß nicht wie das geht!“ ist keine akzeptierte Ausrede. Ich will nächste Woche Ergebnisse sehen!
Aufgabe zur Turtle Grafiken
- Erstelle auf dem Z-Laufwerk einen Ordner mit deinem Namen
- Erstelle eine Funktion für ein beliebiges Vieleck zeichnet
ZeichneVieleck(kantenlaenge, AnzahlEcken, Farbe) - Erstelle ein Python Programm, dass min. 2 Schleifen enthält und eine kreative geometrische Figur zeichnet. Eine neue Idee gibt besonders viele Punkte.
- Kopiere den in 1. erstellen Ordner auf den Abgabe-Laufwerk ‚L:\Informatik 8-3\Test 8-3-1‘
Python – Turtle graphics
Informatik-Biber
HTML & CSS Kurs
HTML(HyperText Markup Language) ist keine Programmiersprache, sondern eine Auszeichnungssprache und wurde von Tim Bernes-Lee 1990 entwickelt. Eine Auszeichnungssprache hat die Aufgabe, logische Bestandteile eines textorientierten Dokuments zu beschreiben. Das ursprüngliche HTML enthielt nur 18 Elemente. Einige davon, wie h1-h6, p, a, ol, ul und li benutzen wir noch heute.
Inhalt
- Grundgerüst
- HTML-Tags
- Block- und Inline-Elemente
- img-Tag – Bilder einfügen
- Links einfügen (a-Tag)
- CSS einbinden
- CSS Eigenschaften
Unsere erste HTML-Datei
Die zentrale HTML-Datei in jedem Verzeichnis heißt immer index.html. Diese Datei wird von Webserver automatisch aufgerufen.
Die Datei hat folgendes Grundgerüst:
HTML-Tags
Es gibt zwei unterschiedliche Arten von HTML-ELementen.
Normale Tags bestehen aus zwei Tags, dem Start-Tag <h1> und dem End-Tag </h1>.
<h1>
<em>HTML</em> - die Sprache im Web
</h1>
Inhaltslehren Elementen, wie <br />, <img /> und <hr />, bestehen nur aus einem Tag.
<h1>Vor dem Tor</h1>
<p>
<img src="...Park_an_der_Ilm.jpg" alt="Park an der Ilm" />
Vom Eise befreit sind Strom und Bäche<br />
Durch des Frühlings holden, belebenden Blick,<br />
...
</p>
Block- und Inline Elemente
Bei den zweiteiligen HTML-Tags unterscheidet man zwischen Block- und Inline Elementen. Ein Block-Element füllt unabhängig von seiner Länge den gesamten Raum (Zeile) aus. Sie stehen als einzelner Block auf einer Zeile. Block-Elemente können Nachfahren des Body-Elements oder eines anderen Block-Elements sein.
Typische Block-Elemente sind: h1 … h6, p
Inline-Elemente erzeugen keinen eigenen Absatz im Textfluss. Sie können normalen Text und andere Inline-Elemente, aber keine Block-Elemente enthalten.
Typische Inline-Elemente sind: a, br, b, i, img, …
Liste der Inline-Elemente auf webkompetenz.wikidot.com
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Block- und Inline-Elemente</title>
</head>
<body>
<div style="background-color:red; color:white; width:500px">Dies ist mein Block-Element (DIV)</div>
<span style="background-color:blue; color:white; width:500px">Ich bin eine Inline-Element (SPAN)</span>
</body>
</html>
Bilder in Websiten – img-Tag
<img src="../img/enten.jpg" alt="Alternativer Text">
src | engl. source für Quelle – Referenz der Bilddatei |
alt | engl. alternative für Alternativtext – Textliche Beschreibung des Bildes. Wird angezeigt, wenn das Bild nicht geladen werden kann bzw. von Screen Readern vorgelesen. |
height | Höhe des Bildes |
width | Breite des Bildes |
title | wird als Tooltip beim Mousehover angezeigt |
Nur inhaltliche Bilder werden ins HTML Markup eingefügt. Design-Elemente sollten über CSS eingebunden werden.
Verweise / Links – der a-Tag
<a href="/meineVerzeichnis/meinbild.jpg" target="_blank">
CSS einbinden
CSS einbinden auf selfhtml.org
- direkt im style-Attribut des Tags
- zentral im style-Element des Headers
- externes Stylesheets im Header einbinden
<!doctype html>
<html lang="de">
<head>
<link rel="stylesheet" href="stylesheet.css">
...
Die wichtigsten CSS-Eigenschaften
Module in Python
Man erstellt eine Datei test.py
def add(a,b):
return a+b
Anschließend erstellt man die Datei app.py
import test
print('hello')
print(test.add(5,2))