[Anmerkungen zur Python-Studie] 10 vollständigste Zusammenfassung der Steueranweisungen

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:

  1. Bedingte Ausdrücke: können logische Ausdrücke, relationale Ausdrücke, arithmetische Ausdrücke usw. sein.
  2. 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

  1. Sequenz: Der Vorfahr einer Liste von Zeichenfolgen
  2. Wörterbuch
  3. Iteratorausrichtung
  4. 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

  1. Minimieren Sie unnötige Berechnungen innerhalb der Schleife
  2. 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
  3. Die Abfrage lokaler Variablen ist schneller. Versuchen Sie, lokale Variablen zu verwenden

Andere Optimierungsmethoden

  1. Verketten Sie mehrere Zeichenfolgen und verwenden Sie join anstelle von +
  2. 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.

Ich denke du magst

Origin blog.csdn.net/weixin_51656605/article/details/112680115
Empfohlen
Rangfolge