Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5294
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Gehoertraining mit geringen Python-Kenntnissen |
| Date | 2018-10-20 15:52 +0200 |
| Organization | None |
| Message-ID | <mailman.252.1540043553.2799.python-de@python.org> (permalink) |
| References | <Geheortraining-20181020125033@ram.dialup.fu-berlin.de> <23014935.qcgINp3G50@palindrom> |
Am Sa Oktober 20 2018, 12:46:47 schrieb Stefan Ram: > Gerade habe ich zu meinem Kurs das folgende Programm zum > Gehörtraining als Programmbeispiel hinzugefügt. > > Man beachte, wie darin Dinge, die man normalerweise mit Hilfe > von Vergleichsoperatoren und Kontrollstrukturen ausdrücken > würde, ohne Vergleichsoperatoren und Kontrollstrukturen > formuliert werden, da Vergleichsoperatoren und > Kontrollstrukturen an der Stelle des Kurses, an der dieses > Skript vorgestellt werden soll, noch nicht behandelt wurden. > Grundrechenarten (einschließlich »+« und »*« für Strings), > Funktionsaufrufe (sowie auch Kommentare, Namen, Zuweisungen > und from-Importe) wurden hingegen schon behandelt ... > > from winsound import Beep > from random import random > from math import isclose Zu früh für Vergleichsoperatoren, aber dann isclose() aus dem Hut zaubern... > quinte = 2/3 > grosse_terz = 4/5 > > erste_frequenz_in_Hz = int( random() * 1000 + 110 ) > intervall = int( random() * 2 ) # 1 = Quinte, 0 = grosse Terz > frequenzverhaeltnis = intervall * quinte +( 1 - intervall )* grosse_terz > zweite_frequenz_in_Hz = int( erste_frequenz_in_Hz * frequenzverhaeltnis ) > > dauer_in_millisekunden = 400 > Beep( erste_frequenz_in_Hz, dauer_in_millisekunden ) > Beep( zweite_frequenz_in_Hz, dauer_in_millisekunden ) > > eingabe = input( "War dies eine Quinte (q) oder eine grosse Terz (t)? " ) > print( 'Es war', intervall * 'eine Quinte.' +( 1 - intervall )* 'eine Terz.' > ) richtige_antwort = intervall * 'q' +( 1 - intervall )* 't' > bewertung = isclose( 0, ord( eingabe )- ord( richtige_antwort )) > print\ > ( 'Ihre Antwort war', bewertung * 'richtig.' +( 1 - bewertung )* 'falsch.' ) Wäre doch gelacht, wenn du deine Studenten nicht schon mit der ersten Lektion zur Verzweiflung bringst ;)
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Gehoertraining mit geringen Python-Kenntnissen Peter Otten <__peter__@web.de> - 2018-10-20 15:52 +0200
csiph-web