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.