blackjack έγραψε:
εχω κανει τον παρακατω κωδικα και θα ηθελα να τον μικρυνω για να μην κανω τοσα if μπορει να με βοηθσηει καποιος γιατι ειμαι αρχαριος στην python
a = int(input(u"Δωσε α: "))
b = int(input(u"Δωσε β: "))
c = int(input(u"Δωσε γ: "))
if ( a == b ):
print "Line 1 - a is equal to b"
else:
print "Line 1 - a is not equal to b"
if ( a != b ):
print "Line 2 - a is not equal to b"
else:
print "Line 2 - a is equal to b"
if ( a <> b ):
print "Line 3 - a is not equal to b"
else:
print "Line 3 - a is equal to b"
if ( a < b ):
print "Line 4 - a is less than b"
else:
print "Line 4 - a is not less than b"
if ( a > b ):
print "Line 5 - a is greater than b"
else:
print "Line 5 - a is not greater than b"
Ο παρακάτω κώδικας δείχνει όλες τις συγκρίσεις
που μπορείς να κάνεις σε 2 αντικείμενα. Αν χρείαζεται στο
πρόγραμμα σου να τις κάνεις όλες τότε δεν μπορείς να τις
αποφύγεις.
if a == b:
print("a is equal to b")
elif a < b:
print("a is less than b")
elif a > b:
print("a is greater than b")
#Το ίδιο με a != b, είναι η τελευταία περίπτωση.
else:
print("a and b are different")
Το σύμβολο <> που έβαλες δεν υπάρχει.
Υπάρχουν 5 βασικές συγκρίσεις στην python.
1) == (Ισότητα)
2) > (Μεγαλύτερο)
3) < (Μικρότερο)
4) != (Όχι ίσο)
Επιπλέον μπορείς να συνδιάσεις το 2 και 3 με ισότητα.
a >= b #Επιστρέφει True εάν το a είναι μεγαλύτερο ή ίσο του b.
a <= b #Επιστρέφει True εάν το a είναι μικρότερο ή ίσο του b.
Στον πρώτο κώδικα που σε έδωσα δεν υπάρχουν μέσα, διότι ήδη στην πρώτη if
ελέγχω για ισότητα, άρα δεν χρειάζονται.
Επιπλέον να σου εξηγήσω την χρησιμότητα του elif:
Εαν μία από όλες τις συνθήκες πραγματοποιηθεί τότε οι υπόλοιπες παραλείπονται
και η ροή του προγράμματος συνεχίζεται κάτω από την τελευταία elif ή else.
Για παράδειγμα:
a = 1
b = 1
if a == b:
print("a is equal to b")
elif a < b:
print("a is less than b")
elif a > b:
print("a is greater than b")
else:
print("a and b are different")
print("Program Ended.")
O Παραπάνω κώδικας θα μπει στην πρώτη if και θα δει ότι όντως a == b άρα θα τυπώσει το
ανάλογο μήνυμα. Στην συνέχεια δεν θα ελέγξει τα υπόλοιπα αλλά θα πάει κατευθείαν στην print("Program Ended.") Έτσι το πρόγραμμα "γλίτωσε" να κάνει τους υπόλοιπους ελέγχους.
Διαφορετικά εάν δεν χρησιμοποιούσες elif αλλά όλα ήταν if, τότε το πρόγραμμα θα έλεγχε
κανονικά και τις άλλες if χωρίς να τις παραλήψει.
Αναλόγως τη θες να κάνεις χρησιμοποιείς if-elif-else ή μόνο if.