Στο python, ποια είναι η διαφορά μεταξύ μιας εντολής για βρόχο και μιας εντολής if;


Απάντηση 1:

Ο βρόχος A είναι μια κατασκευή που κινείται μέσω μιας ακολουθίας που εκτελεί μια ακολουθία κώδικα για κάθε στοιχείο της ακολουθίας. Αυτή η ακολουθία μπορεί να είναι μια περιοχή, μια λίστα, μια πλειάδα, ένα σετ, ένα λεξικό, μια λειτουργία γεννήτριας, μια έκφραση γεννήτριας ή ακόμα και ένα προσαρμοσμένο αντικείμενο. Η Python έχει ένα όνομα για εκείνες τις ακολουθίες που μπορούν να χρησιμοποιηθούν σε ένα for loop - καλούνται iterators.

Μια εντολή if δεν είναι βρόχος - δεν μπορεί να χρησιμοποιηθεί για να επαναλάβει μια σουίτα κώδικα. Μια εντολή if μπορεί να χρησιμοποιηθεί μόνο για να προσδιοριστεί ποια σουίτα κώδικα μπορεί να εκτελεστεί.

Μια σουίτα κώδικα είναι οποιοδήποτε μπλοκ κειμένου που είναι χαραγμένο από τον προκάτοχό του.


Απάντηση 2:

Παρόλο που και οι δύο, αν και για τις σύνθετες εντολές ροής ελέγχου στη Python, εξυπηρετούν και τους δύο πολύ διαφορετικούς σκοπούς. Επιτρέψτε μου να συμπεριλάβω ενώ και δήλωση, έτσι ώστε η συζήτηση είναι κάπως ολοκληρωμένη.

Μια εντολή if χρησιμοποιείται για να ελέγξει μια συνθήκη και να εκτελέσει ένα μπλοκ κώδικα μία φορά εάν η συνθήκη αυτή έχει αξιολογηθεί ως TRUE. Για παράδειγμα:

>>> a = 1
>>> αν a == 1:
... print (a)
...
1

Μια εντολή while χρησιμοποιείται για την επαναφορά (iteration). Παρόμοια με αυτή, ελέγχει μια συνθήκη και εκτελεί ένα μπλοκ κώδικα εφόσον η προϋπόθεση αυτή είναι True. Για παράδειγμα:

>>> ενώ ένα <5:
... print (a)
... a + = 1
...
1
2
3
4

A για τη δήλωση είναι διαφορετική από αυτά με την έννοια ότι δεν ελέγχει για μια κατάσταση. Ωστόσο, όπως μια δήλωση ενώ, για-δήλωση χρησιμοποιείται επίσης για looping. Αλλά η διαφορά είναι ότι επαναλαμβάνει (βρόχους) μέσω των στοιχείων ενός iterator (σκεφτείτε το ως μια ροή δεδομένων, όπως λίστες) και εκτελεί ένα μπλοκ κώδικα εφόσον υπάρχει κάποιο στοιχείο σε αυτό το iterator. Για παράδειγμα:

>>> a = [1, 2, 3, 4]
>>> για τον αριθμό σε:
... print (num)
...
1
2
3
4

Αυτές είναι όλες οι σύνθετες δηλώσεις δεδομένου ότι έρχονται με πρόσθετες ρήτρες. Και οι τρεις αυτές δηλώσεις έχουν μια προαιρετική άλλη ρήτρα. Μια if-statement μπορεί επίσης να έχει πολλαπλές ρήτρες elif.

Επίσης, για τις δύο δηλώσεις βρόχου, ενώ και για, μπορούμε να αλλάξουμε τη ροή τους χρησιμοποιώντας τις δηλώσεις διακοπής ή συνέχισης.

Μοιραστείτε μερικά από τα blogposts μου σε αυτά τα θέματα αν σας βοηθάει:

Εναλλαγή σε Python: Οι δηλώσεις για, ενώ, break, και συνέχιση μπορούν να βοηθήσουν στην κατανόηση του τρόπου χρήσης των δηλώσεων που χρησιμοποιούνται για την επαναφορά (iteration).

Η κατανόηση των for-loops στη Python θα βοηθούσε στην κατανόηση του τρόπου με τον οποίο λειτουργούν οι βρόχοι-κύκλοι και τι είναι τα iterators, iterables και το πρωτόκολλο iterator.