![]() |
|||
| HSG |
|
Welchen Wert hat die Variable n am Ende des Programms?
Python 3.2
# Autor: Klaus Merkert, 20.11.11
# Programmtitel
print('Strafarbeit')
print()
# Ausgabe
n = 1
while n <= 20:
print(n,'. Ich darf meinen Lehrer nicht beißen!')
n = n+1
Python 3.2
# Autor: Klaus Merkert, 20.11.11
# Einbindung einer Bibliothek
import time
# Programmtitel
print('Countdown')
print()
# Ausgabe
n = 10
while n > 0:
print(n)
n = n-1
time.sleep(1)
print('Feuer!')
In Python 3.2 hat die print-Funktion einen optionalen Parameter end, der defaultmäßig den Wert '\n' hat, also einen Zeilensprung bewirkt. Mit
print('*',end='')
wird z.B. ein '*' ausgegeben ohne dass ein Zeilensprung folgt.
Schreibe Programme f1.py, f2.py und f3.py, die folgende Zahlenfolgen ausgeben:
Schreibe ein Programm stern1.py, das eine natürliche Zahl n einliest und dann n Sternchen in einer Zeile ausgibt. Beispiel: n=7, Ausgabe: *******
Schreibe ein Programm stern2.py, das eine natürliche Zahl n einliest und dann Sternchen in ein Dreieck ausgibt. Beispiel: n=7, Ausgabe:
* ** *** **** ***** ****** *******
Hilfe: Zwei verschachelte Schleifen!
Berechne die Summe der ersten n natürlichen Zahlen.
Beispiel für einen Programmlauf

Ermittle die Teilermenge T(n). Verwende für die Leerzeilen \n.
Beispiel für einen Programmlauf
Teilermenge
n = 24
T(24) = {1,2,3,4,6,8,12,24};
Zusatz: Wenn die Teilermenge nicht bestimmt werden kann, soll das durch eine Fehlermeldung angezeigt werden.
Schreibe ein Programm prim1.py, das nach Eingabe einer natürlichen Zahl n angibt, ob n eine Primzahl ist.
Primzahltest n = 17 17 ist eine Primzahl.
Python 3.2
# Autor: Klaus Merkert, 20.11.11
print('Umwandlung dezimal --> dual',end='\n\n')
n = int(input('n = '))
a = n
b = ''
while a > 0:
q = a//2
r = a%2
b = str(r)+b
a = q
print('\n'+str(n)+'(10) = '+b+'(2)')
46 = 2 * 23 + 0
23 = 2 * 11 + 1
11 = 2 * 5 + 1
5 = 2 * 2 + 1
2 = 2 * 1 + 0
1 = 2 * 0 + 1 --> 101110
---------------
0 = 2 * 0 + 0
>>> bin(46) '0b101110'
Bestimme auf dem Papier die Binär-Darstellung von 5, 15, 18 und 38. Kontrolliere deine Ergebnisse mit Python.
Vervollständige die Tracetabelle zu obigem Programm.
n a b a>0 q r
--------------------------------
46
46
''
ja
23
0
'0'
23
ja
11
1
'10'
Ergänze das Programm so durch print-Anweisungen, dass du deine Tabelle überprüfen kannst.
Analysiere folgendes Programm. Für welche Eingaben gerät man in eine Endlosschleife (ohh!), wie kann man sie abbrechen?
Python 3.2
# Autor: mk, 20.11.11
print("'Schleife des Grauens'",end='\n\n')
n = int(input('n = '))
while True:
print(n)
if n%7 == 0: break
Analysiere folgendes Programm.
Folgendes Programm zeigt den Unterschied zwischen import random und from random import * und die Erzeugung von Zufallszahlen.
Erweitere das Programm so, dass die Anzahl der Sechsen gezählt und absolut und prozentual ausgegeben wird.