Diese Reihe von Notizen zum Erlernen von Python für sich selbst. Wenn es Fehler gibt, korrigieren Sie mich bitte
Ergebnis auswählen
Die Auswahlstruktur bestimmt, welcher Zweig ausgeführt werden soll, indem beurteilt wird, ob die Bedingung erfüllt ist. Es gibt viele Formen der Auswahlstruktur, die unterteilt sind in: Einzelzweig, Doppelzweig und Mehrfachzweig. Das Flussdiagramm lautet wie folgt:
[Die Übertragung externer Links ist fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-9jFYUifK-1610702861337) (. \ Images \ image-20210115152646962.png)]
[Die Bildübertragung für externe Links ist fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-RcXKw5zK-1610702861353) (. \ Images \ image-20210115152744007.png)]
Einzelzweigauswahlstruktur
Die grammatikalische Form des Einzelzweig-Ergebnisses der if-Anweisung lautet wie folgt:
wenn bedingter Ausdruck:
Anweisung / Block
darunter:
- Bedingte Ausdrücke: können logische Ausdrücke, relationale Ausdrücke, arithmetische Ausdrücke usw. sein.
- Anweisung / Anweisungsblock: Dies kann eine Anweisung oder mehrere Anweisungen sein. Bei mehreren Anweisungen muss der Einzug ausgerichtet werden
num = input('请输入一个数字:')
if int(num)<10:
print(num)
Detaillierte Erläuterung der bedingten Ausdrücke
In der Auswahl- und Schleifenstruktur ist der Wert des bedingten Ausdrucks wie folgt False:
False 0 0.0 Nullwert Keine, leeres Sequenzobjekt (leere Liste, leere Menge, leeres Wörterbuch, leere Zeichenfolge), leeres Bereichsobjekt, leeres Iterationsobjekt
Alle anderen Fälle sind wahr.
if 3: #整数作为条件表达式
print('ok')
a = [] #列表作为表达式 空列表为False
if a:
print('空列表 False')
s = 'False' #非空字符串
if s:
print('非空字符串')
c = 9
if 3<c and c<20:
print("3<c and c<20")
if True: #布尔值
print("True")
Bedingte Ausdrücke können keine Zuweisungsoperatoren haben =
Struktur zur Auswahl doppelter Zweige
wenn bedingter Ausdruck:
Anweisungsblock / Anweisung
sonst:
Aussage
num = input('请输入一个数字')
if int(num)<10:
print(num)
else:
print('数字太大')
Ternärer bedingter Operator
Python bietet einen ternären Operator, der in einigen einfachen Situationen der Zuweisung von Doppelverzweigungen verwendet wird, die Syntax des ternären bedingten Operators:
Der Wert, wenn die Bedingung wahr ist, wenn (bedingter Ausdruck) sonst der Wert, wenn die Bedingung falsch ist
num = input('请输入一个数字')
print(num if int(num)<10 else '数字太大')
Auswahlstruktur mit mehreren Zweigen
wenn bedingter Ausdruck 1:
Anweisung / Block
elif bedingter Ausdruck 2:
Anweisung / Block
…
sonst:
Anweisung / Block
[Bildübertragung für externe Links fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-zI3Enszj-1610702861355) (. \ Images \ image-20210115160316557.png)]
score = int(input('请输入分数'))
grade = ''
if score<60:
grade = '不及格'
elif score>=60 and score<70:
grade='及格'
elif score>=70 and score<80:
grade = '良好'
else:
grade = '优秀'
print('分数是{0},等级是{1}'.format(score,grade))
Strukturverschachtelung auswählen
Die Auswahlstruktur kann verschachtelt sein. Wenn Sie sie verwenden, müssen Sie darauf achten, die Einrückung verschiedener Ebenen von Codeblöcken zu steuern, da die Einrückung die Unterordnung des Codes bestimmt.
wenn Ausdruck 1:
Anweisungsblock 1
Wenn Ausdruck 2:
Anweisungsblock 2:
Sonst:
Anweisungsblock
sonst:
Anweisungsblock
Schleifenstruktur
Die Schleifenstruktur verwendet die wiederholte Ausführung einer oder mehrerer Anweisungen. Ausdruckslogik: Wenn die Bedingungen erfüllt sind, werden die Anweisungen im Schleifenkörper wiederholt ausgeführt. Nach jeder Ausführung wird beurteilt, ob die Bedingung wahr ist, und wenn sie wahr ist, wird die Schleife wiederholt.
[Die Bildübertragung für externe Links ist fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-IIricoFW-1610702861357) (. \ Images \ image-20210115161743080.png)]
Die Anweisungen im Schleifenkörper sollten mindestens Anweisungen enthalten, die den bedingten Ausdruck ändern, sodass die Schleife zum Ende neigt. Andernfalls wird sie zu einer Endlosschleife.
while-Schleife
while 判断条件(condition): 执行语句(statements)……
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
Endlosschleife
Wir können eine Endlosschleife erreichen, indem wir den bedingten Ausdruck so einstellen, dass er niemals falsch ist
var = 1
while var == 1 : # 表达式永远为 true
num = int(input("输入一个数字 :"))
print ("你输入的数字是: ", num)
print ("Good bye!")
Mit STRG + C können Sie die aktuelle Endlosschleife verlassen.
Die Endlosschleife ist sehr nützlich für Echtzeit-Clientanforderungen auf dem Server.
für Schleifen- und iterierbare Objektdurchquerung
Die for-Schleife wird normalerweise verwendet, um ein iterierbares Objekt zu durchlaufen. Das Syntaxformat der for-Schleife lautet wie folgt:
für Variable in iterierbarem Objekt:
Loop-Body-Anweisung
Iterierbares Objekt
- Sequenz: Der Vorfahr einer Liste von Zeichenfolgen
- Wörterbuch
- Iteratorausrichtung
- Generatorobjekt
for x in list('slp'):
print(x)
d = {
'name':'slp','age':18,'address':'bj'}
for x in d: #遍历所有的key
print(x)
for x in d.keys():#遍历字典所有的key
print(x)
for x in d.values():#遍历字典所有的value
print(x)
for x in d.items():#遍历字典所有的键值对
print(x)
Bereichsobjekt
Das Bereichsobjekt ist ein Iteratorobjekt, mit dem ein bestimmter Zahlenbereich generiert wird. Das Format lautet: Bereich (Start, Ende [, Schritt])
sum_all=0
sum_even=0
sum_odd=0
for num in range(101):
sum_all +=num
if num%2 ==0:
sum_even+=num
else:
sum_odd+=num
print(sum_all,sum_even,sum_odd)
Verschachtelte Schleife
Eine Schleife kann in eine andere Schleife eingebettet werden, die im Allgemeinen als verschachtelte Schleife oder mehrere Schleifen bezeichnet wird
Beispiel: 99 Multiplikationstabelle drucken:
for m in range(1,10):
for n in range(1,m+1):
print(m,'*',n,'=',m*n ,end='\t')
print('')
break-Anweisung
Die break-Anweisung kann in while- und for-Schleifen verwendet werden, um die gesamte Schleife zu beenden. Bei Verschachtelung kann die break-Anweisung nur aus der nächsten Schleife herausspringen
[Die Bildübertragung für externe Links ist fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-nB6cRFES-1610702861364) (. \ Images \ E5A591EF-6515-4BCB-AEAA- A97ABEFC5D7D.jpg)]
while True:
a = input('输入Q退出')
if a.upper() == 'Q':
print('退出')
break
else:
print('继续')
Aussage fortsetzen
continue wird verwendet, um diese Schleife zu beenden und mit dem nächsten Mal fortzufahren. Die Verschachtelung wird ebenfalls angewendet und die letzte Schleife.
[Die Bildübertragung für externe Links ist fehlgeschlagen. Die Ursprungssite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-aqfENPtv-1610702861366) (. \ Images \ 8962A4F1-B78C-4877-B328- 903366EA1470.jpg)]
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('循环结束。')
empNum = 0
salarySum = 0;
salarys = []
while True:
s = input('请输入员工的工资(q或Q结束)')
if s.upper() =='Q':
print('录入完成 退出')
break;
if float(s)<0:
continue;
empNum+=1
salarys.append(float(s))
salarySum +=float(s)
print('员工数{0}'.format(empNum))
print('录入薪资',salarys)
print('平均薪资{0}'.format(salarySum/empNum))
pass-Anweisung
Python-Pass ist eine leere Anweisung, um die Integrität der Programmstruktur aufrechtzuerhalten.
pass macht nichts, es wird in der Regel als Platzhalter-Anweisung verwendet,
Loop-Code-Optimierung
- Minimieren Sie unnötige Berechnungen innerhalb der Schleife
- Versuchen Sie in der verschachtelten Schleife, die Anzahl der inneren Schleifen zu verringern und sie so weit wie möglich nach außen zu heben
- Die Abfrage lokaler Variablen ist schneller. Versuchen Sie, lokale Variablen zu verwenden
Andere Optimierungsmethoden
- Verketten Sie mehrere Zeichenfolgen und verwenden Sie join anstelle von +
- Fügen Sie Elemente in die Liste ein und löschen Sie sie. Versuchen Sie, am Ende zu arbeiten
Verwenden Sie zip (), um parallel zu iterieren
Mit der Funktion zip () können mehrere Sequenzen parallel iteriert werden, und die Funktion zip () wird beendet, wenn die kürzeste Sequenz aufgebraucht ist
names = ('a','b','c')
ages =(16,10)
jobs = ('teacher','programmer','drive')
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))
Suchen Sie in WeChat nach [Zixin] oder scannen Sie den folgenden QR-Code, um Freunde zu finden und gemeinsam Fortschritte zu erzielen. Der Artikel wird ständig aktualisiert. Gegenwärtig organisiere ich die Studiennotizen von Python hundert Schlachten und freue mich auf weitere Updates in der Zukunft.