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

ΘΕΜΑ: συγκριση αριθμων

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4147

  • blackjack
  • Το Άβαταρ του/της blackjack
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 1
εχω κανει τον παρακατω κωδικα και θα ηθελα να τον μικρυνω για να μην κανω τοσα 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"
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4149

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Θα βοηθούσε να μας έλεγες τι θέλεις να πάρεις σαν αποτέλεσμα.
Πάντως το 2ο και το 3ο if είναι ίδια και είναι ίσα με το πρώτο else, άρα αν δεν υπάρχει κάποιος άλλος λόγος δεν χρειάζονται.
Επίσης υπάρχει κάποιος λόγος που δεν χρησιμοποιείς πουθενά το c ?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4150

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Την απάντηση την έχω και στο insomnia.gr
εάν δεν θέλουμε πολλά πολλά και μας καλύπτει μια επιστροφή του τύπου
α<=γ<=β μπορούμε να το κάνουμε με sort
O κώδικας είναι ίσως λίγο ακαταλαβήστικός
def compare():
  a = int(input("Δωσε α: ")) 
  b = int(input("Δωσε β: "))
  c = int(input("Δωσε γ: "))
  lejiko={i:k for i,k in zip('αβγ',(a,b,c))}
  n=sorted(zip(lejiko.values(), lejiko.keys()))
  return '<='.join(n[i][1] for i in range(len(n)))
κάνω ένα λεξικό που έχω τις ελληνικές τιμές α,β,γ με τις τιμές που εισάγει ο χρήστης
και αφού ταξινομήσω με βάση τις τιμές τους α,β,γ τα κάνω join με το <=
Τελευταία διόρθωση: 7 Χρόνια 10 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4151

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
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.
Τελευταία διόρθωση: 7 Χρόνια 10 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4152

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
babaliaris1 έγραψε:
Το σύμβολο <> που έβαλες δεν υπάρχει.
...Χμμμ..., βασικά υπάρχει... και σημαίνει "μεγαλύτερο ή μικρότερο", απλώς δεν είναι pythonic και πρέπει να αποφεύγεται αφού είναι το ίδιο με το !=
Αν το χρησιμοποιήσεις όμως δουλεύει. Π.χ. το
Print(10 <> 12)
τυπώνει όντως True.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4153

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
embryo έγραψε:
babaliaris1 έγραψε:
Το σύμβολο <> που έβαλες δεν υπάρχει.
...Χμμμ..., βασικά υπάρχει... και σημαίνει "μεγαλύτερο ή μικρότερο", απλώς δεν είναι pythonic και πρέπει να αποφεύγεται αφού είναι το ίδιο με το !=
Αν το χρησιμοποιήσεις όμως δουλεύει. Π.χ. το
Print(10 <> 12)
τυπώνει όντως True.
python 3.4 3.6 syntax error
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

συγκριση αριθμων 7 Χρόνια 10 Μήνες πριν #4156

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Theo έγραψε:
python 3.4 3.6 syntax error
Ναι, έχεις δίκιο.
Το τσέκαρα μόνο στην 2.7 ;)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.311 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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