Teil 44 : Einfache PSE-Datenbank mit Python 1. Speichere die

Werbung
Teil 44 : Einfache PSE-Datenbank mit Python
1.
Speichere die folgende Datei als pse.py ab und führe sie mit python pse.py im Terminal aus.
Verwende dabei verschiedene Element-Schlüssel und unterschiedliche Eigenschaften.
#!/usr/bin/env python
#Daten
ELEMENTE={'H':['Wasserstoff',1,0,1,'2,2'],
'He':['Helium',2,2,2,'nicht bekannt'],
'Li':['Lithium',3,4,1,'1,0'],
'Be':['Beryllium',4,5,2,'1,6'],
'B':['Bor',5,6,3,'2,0'],
'C':['Kohlenstoff',6,6,4,'2,5'],
'N':['Stickstoff',7,7,5,'3,0'],
'O':['Sauerstoff',8,8,6,'3,4'],
'F':['Fluor',9,10,7,'4,0'],
'Ne':['Neon',10,10,8,'nicht bekannt'],
'Na':['Natrium',11,12,1,'0,9'],
'Mg':['Magnesium',12,12,2,'1,3'],
'Al':['Aluminium',13,14,3,'1,6'],
'Si':['Silicum',14,14,4,'1,9'],
'P':['Phosphor',15,16,5,'2,2'],
'S':['Schwefel',16,16,6,'2,6'],
'Cl':['Chlor',17,18,7,'3,2'],
'Ar':['Argon',18,22,8,'nicht bekannt'],
'K':['Kalium',19,20,1,'0,8'],
'Ca':['Calcium',20,20,2,'1,0']}
EIGENSCHAFTEN=['Elementname',
'Protonenzahl',
'Neutronenzahl',
'Valenzelektronenzahl',
'Elektronegativitaet']
GRUPPEN=['den
'den
'der
'der
'der
'den
'den
'den
Alkalimetallen',
Erdalkalimetallen',
Bohrgruppe',
Kohlenstoffgruppe',
Stickstoffgruppe',
Chalkogenen',
Halogenen',
Edelgasen']
# Abfrage und Ausgabe
X=raw_input('Gib das Elementsymbol ein: ')
TEST=ELEMENTE.has_key(X)
if TEST == True:
print 'Gib die entsprechende Nummer fuer die gewuenschte Information ein:'
print '1 => Protonenzahl'
print '2 => Neutronenzahl'
print '3 => Valenzelektronenzahl'
print '4 => Elektronegativitaet'
Y=raw_input('Ich will Nummer: ')
print 'Die',EIGENSCHAFTEN[int(Y)],'von',ELEMENTE[X][0],'ist',ELEMENTE[X][int(Y)]
print 'Das',ELEMENTE[X][0],'steht in der',ELEMENTE[X][3],'.
Hauptgruppe',GRUPPEN[int(ELEMENTE[X][3])-1]
else:
print 'Das angegebene Elementsymbol ist nicht in dieser \n kleinen Datenbank von
nur 20 Elementen enthalten. Waehle ein ein anderes aus!'
2.
Ändere das Programm pse.py so ab, dass bei vorhandenem Schlüssel immer alle Informationen zu einem
Element in der Anordnung ausgegeben werden: Eigenschaft = jeweiliger Wert, neue Zeile
und speichere als pse2.py
3.
Lade auf der Seite http://www.zum.de/Faecher/Materialien/gebhardt/JStest/testedit.lx/index.htm
den JavaScript-basierten Test-Editor
http://www.zum.de/Faecher/Materialien/gebhardt/JStest/download/testedit.lx.zip herunter, entpacke ihn und
vergleiche den Aufbau der Datei testedit.lx/projekt/parameter.js
Informiere Dich auf der folgenden Seite über Arrays in JavaScript
http://www.galileocomputing.de/openbook/javascript_ajax/04_programmieren_005.htm
Speichere die folgende Datei als array_js.html ab und öffne sie im Firefox.
<html>
<head><title>Arrays in JavaScript</title></head>
<body>
<script language="JavaScript" type="text/javascript">
<!-var OX = ["Sauerstoff", "8", "6", "0"];
document.write("Das Element " + OX[0] + " hat " + OX[1] + " Protonen im
Kern und steht in der " + OX[2] + ". Hauptgruppe. Das Elementsymbol lautet " +
OX[3] + "<br></br>")
//-->
</script>
<p>Auf Wiedersehen - drücke zum Wiederholen einfach im Browser auf
Ansicht-Aktualisieren oder [Strg + R]</p>
</body>
</html>
Nur für Fortgeschrittene: Versuche mit den Techniken aus Teil 23 HTML-Spezial: JavaScript, eine Interaktive
Abfrage des Elements einzubauen und für Wasserstoff als zweitem Element den Datenbestand zu erweitern.
4.
Speichere die folgende Datei als array.sh ab und führe sie mit ./array.sh im Terminal aus.
#!/bin/bash
OX=("Sauerstoff" 8 6 O)
echo -e "Das Element "${OX[0]}" hat "${OX[1]}" Protonen im Kern \n und steht in der
"${OX[2]}". Hauptgruppe. Das Elementsymbol lautet "\'${OX[3]}\'"."
echo -e "In der Liste OX = "${OX[@]}" sind "${#OX[*]}" Elemente enthalten."
Vergleiche mit Hilfe der Tabelle die Syntax für Arrays in der Bash und Listen in Python:
Ergänze die fehlenden Einträge mit Hilfe von Teil 43, Aufgaben 1 und 4.
Bash
Python
Listendefinition
LB=(Element1 Element2 ...)
LP=[Element1,Element2,...]
Abfrage des Elements 2
$(LB[1])
LP[1]
Abfrage der gesamten Liste
${OX[@]}
Abfrage der Anzahl aller Elemente
${#OX[*]}
Welcher grundsätzliche Unterschied fällt Dir im Vergleich der Python-Syntax mit der Bash-Syntax auf?
5.
Für Fortgeschrittene: Begründe mit Hilfe des in diesem Teils vorgenommenen Vergleichs der Skriptsprachen
Python, Bash und JavaScript, welche für die (zunächst lokale) einfache Datenorganisation, also noch ohne
Datenbankmanagementsystem (DBMS) am besten geeignet ist!
Welcher integrierte Datentyp ist in Kombination mit Listen hier besonders mächtig?
Welche zusätzlichen Stärken hat Python, wenn es darum geht, in einem Netzwerk entfernte, bereits
bestehende Datenbanken anzusprechen?
Wiederhole zunächst Teil 37 - CMS-Spezial 2: Dynamische Inhalte und lies dazu die folgenden Artikel:
http://de.wikipedia.org/wiki/PHP
http://de.wikipedia.org/wiki/Common_Gateway_Interface
http://de.wikipedia.org/wiki/Mod_python
http://de.wikipedia.org/wiki/Mod_perl
Herunterladen