Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2
  • 3
  • 4

ΘΕΜΑ: εντολή if

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1798

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Μην κολλάς σε αυτό, δεν έχει και τόση σημασία. Συνέχισε να μαθαίνεις τη γλώσσα.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1799

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Ξέρεις, μάλλον δεν έχω πιάσει στο γενικό της την σύνταξη της συνθήκης, και πως στο shell ακόμα δεν κατάφερα να κάνω την σύνταξη. Και με ένα enter και με δύο, απλά γράφει τον την μεταβλητή και κάνει εισαγωγή ξανά. Αν θέλεις πες μου ή μάλλον γράψε μου έναν κώδικα με την if γιατί απο διάφορα που έψαξα ο καθένας τα γράφει με άλλο τρόπο. Άρα, θέλω να γράψω έναν κώδικα με την if, ποιος είναι ο τρόπος. Σε κουράζω λίγο, αλλά πρέπει να το καταλάβω για να συνεχίσω.. δεν ξέρω γιατί με έχει παιδε΄ψει τόσο αυτό. Ευχαριστώ.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1800

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Αφήνοντας στην άκρη το shell, ας δούμε πάλι το if.

Η γενκή σύνταξη είναι η ακόλουθη
if συνθήκη:
    κώδικας που εκτελείτα μόνο αν η συνθήκη είναι αληθής (κώδικας1)
else:
    κώδικας που εκτελείτα μόνο αν η συνθήκη είναι ψευδής (κώδικας2)
Δηλαδή κάθε φορά θα εκτελεστεί ΜΟΝΟ ο κώδικας1 ή ΜΟΝΟ ο κώδικας2. ΠΟΤΕ και οι δύο μαζί.

Παρένθεση. Ο κώδικας1 και ο κώδικας2 μπορούν να είναι πολλές γραμμές οι οποίες όμως θα έχουν όλες την ίδια στοίχηση. Δεν είναι υποχρεωτικό να είναι μία. Εδώ βάζω μία για να κρατήσω απλό το παράδειγμα.

Ας το δούμε και στην πράξη. Εστω ότι θέλεις να υπολογίσεις τον φόρο που θα πληρώσει κάποιος και έστω ότι για εισοδήματα από 25000 και πάνω ο φόρος είναι 25% ενώ για χαμηλότερα είναι 15% (λέμε τώρα :P)

Άρα λοιπόν, πρέπει να έχεις τη μεταβλητή "eisodima" και να συγκρίνεις την τιμή της με τις 25000. Αν είναι μεγαλύτερη τότε για να βρεις το ποσό του φόρου πολλαπλασιάζεις με 25% ενώ αν είναι μικρότερη πολλαπλασιάζεις με 15%.

Η σύγκριση της τιμής είναι η "συνθήκη" που λέγαμε προηγουμένως. Ο πολλαπλασιασμός με τον 0.25 είναι ο κώδικας που εκτελείται μόνο αν η συνθήκη είναι αληθής (κώδικας1) και ο πολ/σμός με το 0.15 είναι ο κώδικας που εκτελείται μόνο αν η συνθήκη είναι ψευδής (κώδικας2). Ας το μετατρέψουμε αυτό και σε κώδικα:
eisodima = 30000
if eisodima >= 25000:
    foros = eisodima * 0.25
else:
    foros = eisodima * 0.15
 
print("O foros einai %d" % foros)
Όταν θα τρέξεις το παραπάνω παράδειγμα, αρχικά θα γίνει η σύγκριση της τιμής του "eisodimatos" με τις 25000. Επειδή η τιμή του "eisodimatos" είναι 30000 που είναι μεγαλύτερο από 25000, η έκφραση "eisodima > 25000" είναι αληθής άρα θα εκτελεστεί ο κώδικας1. Όπως είπαμε ο κώδικας2 δε θα εκτελεστεί και έτσι μετά το πρόγραμμα θα εκτελέσει το print()

Το παραπάνω μπορείς να το σώσεις σε ένα αρχείο και να το τρέξεις. Η python θα διαβάσει την πρώτη γραμμή του προγράμματος, θα την εκτελέσει και μετά θα πάει στην επόμενη. Αυτό θα επαναληφθεί μέχρι να φτάσει στο τέλος του αρχείου.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1805

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Καλημέρα. Στο τέλος θα με βρίσεις.. Για ξανα δες το παράδειγμα pmav, έχει λάθος στην σύνταξη; Μόλις παω να το σώσω, επιστρέφει μήμυμα invalid syntax..
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1806

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1807

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1808

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1809

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Δεν έγραψες ακριβώς αυτό που σου έγραψα... Η πρώτη γραμμή είναι αυτό που σου έγραψα εγώ, ενώ η δεύτερη αυτό που έγραψες εσύ
eisodima = 30000
eisodima = "30000"
Το μήνυμα λάθους που σου βγάζει είναι γιατί χρησιμοποιείς λάθος τύπους. Η eisodima είναι μεταβλητή τύπου string ενώ το 25000 είναι integer (ακέραιος αριθμός). H Python δεν ξέρει πως να συγκρίνει αριθμούς και strings. Μόνο αριθμούς με αριθμούς. Ή strings με strings κτλ. Βγάλε λοιπόν τα εισαγωγικά και θα τρέξει.
TypeError: unorderable types: str() > int()
Αυτό μετφράζεται ως "Λάθος τύπων: μη ταξινομήσιμοι τύποι: str() > int()" Δηλαδή πάει να συγκρίνει ένα string με έναν αριθμό και επειδή δεν ξέρει πως να το κάνει αυτό βγάζει Error. Το ότι το string έχει μέσα μόνο αριθμούς, μη σε μπερδεύει. Για την Python είτε το string είναι το "30000" είτε το "ftou skoulikomermigkotripa" είναι το ίδιο πράγμα. Και ως γνωστόν η σύγκριση του "ftou skoulikomermigkotripa" με το 30000 δεν έχει νόημα...
Τελευταία διόρθωση: 11 Χρόνια 4 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1810

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
Στο τέλος του κώδικα να το γράψω το print; Ή το κάνει μόνο του;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1811

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
if eisodima >= 25000: Κι εδώ ανάμεσα στο >= πάλι λάθος μου έβγαζε
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1812

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Ναι να το γράψεις το print. Γιατί να το γράψει μόνο του? Ο υπολογιστής είναι χαζός. Κάνει μόνο αυτά που του λες...

Μην κάνεις τέτοιες ερωτήσεις. Να τα δοκιμάζεις. Μη φοβάσαι. Έκρηξη δεν γίνεται... :P :D
Τελευταία διόρθωση: 11 Χρόνια 4 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1813

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Αντέγραψε το παράδειγμα που σου έδειξα. Αντιγραφή - Επικόλληση.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1814

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
αντιγραφή, και επικόλληση που στο py;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1815

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
ε ναι!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: εντολή if 11 Χρόνια 4 Μήνες πριν #1816

  • vagos
  • Το Άβαταρ του/της vagos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 31
το έκανα!! Χαρά μεγάλη!!! :cheer: Είμαι λίγο χαζός ε; :woohoo:
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
  • 3
  • 4
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.325 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου