Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

εφτιαξα τον  παρακατω κωδικα και  θα ηθελα να μου πειτε αν μπορειτε πως να τον εφτιαχνα καλυτερα για να μην κανω τοσες If  ωστε να ηταμ μικροτερος ο κωδικας και να εκανα τις συγκρισεις 

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"
Δημοσ.

πιστεύω εφόσον έχεις τόσα μέτρα σύγκρισης είναι αναγκαίο να έχεις τα if,

μπορείς να αποφύγεις το print των υπολοίπων όμως βάζοντας το όλο σε μία while (?)

έτσι θα αποφύγεις τα else

  • Moderators
Δημοσ.

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

Line 1 - a is not equal to b
Line 2 - a is not equal to b
Line 3 - a is not equal to b
Line 4 - a is not less than b
Line 5 - a is greater than b

Αυτό είναι που θες;

 

 

 

 

πιστεύω εφόσον έχεις τόσα μέτρα σύγκρισης είναι αναγκαίο να έχεις τα if,

μπορείς να αποφύγεις το print των υπολοίπων όμως βάζοντας το όλο σε μία while (?)

έτσι θα αποφύγεις τα else

 

Τι θα κάνει η while;

  • Like 1
Δημοσ.

αυτο που θελω ειναι να  δωσει ο χρηστης 3 αριθμους και να τους συγκρινω ποιος ειναι μεγαλυτερος μεσαιος και μικροτερος


και ο γ;

πηγαδι;

τον ξεχασα μαλλον :P

  • Moderators
Δημοσ.

Ωραία, διάβασε τρεις αριθμούς σ' έναν πίνακα, ταξινόμησε τον πίνακα και εκτύπωσε τα στοιχεία του.

  • Like 1
  • Moderators
Δημοσ.

Ο χρήστης θα τους δίνει και θα τους βάζεις σε πίνακα αντί σε τρεις ξεχωριστές μεταβλητές.

Δημοσ.

εκανα αυτο μπορει να εχει μερικα συντακιτκα αλλα σαν σκεψη ειναι σωστο νομιζω.αυτο με τους πινακες δεν καταλαβαινα πως ηθελες να το κανεις μπορεις να  μοπυ δωσεις την λυση σου να δω τι εννοουσες?

a = int(input(u"Δωσε α: "))
b = int(input(u"Δωσε β: "))
c = int(input(u"Δωσε γ: "))
fisrt=a;
if (b>=fist ):
  first=b
  second=b
  else:
second=b;
if (c>=fist ):
  third=second
  second=first
  fisrt=c;
if (c>=second):
    third=second
    second=c
else:
  c=third
  print "first,second,third"
Δημοσ. (επεξεργασμένο)

Με ταξινόμηση νομίζω και εγώ γίνεται πιο εύκολα

σε python 3

Όχι πίνακας αλλά dict

SORRY Ο κώδικας είναι λάθος το κοιτάω και επανέρχομαι 

def compare():
	a = int(input("Δωσε α: ")) 
	b = int(input("Δωσε β: "))
	c = int(input("Δωσε γ: "))
	lejiko={i:k for i,k in zip('αβγ',(a,b,c))}
  return '<='.join(n[1] for i in range(len(sorted(zip(lejiko.values(), lejiko.keys())))))

Σωστό

Επεξ/σία από k33theod
Δημοσ.

 

Με ταξινόμηση νομίζω και εγώ γίνεται πιο εύκολα

σε python 3

Όχι πίνακας αλλά dict

def compare():
	a = int(input("Δωσε α: ")) 
	b = int(input("Δωσε β: "))
	c = int(input("Δωσε γ: "))
	lejiko={i:k for i,k in zip((a,b,c),('αβγ'))}
	return '<='.join(lejiko[i] for i in sorted(lejiko.keys()))


μπορεις να μου εξηγησεις τι κανει το zip και το join?

Δημοσ. (επεξεργασμένο)

Ο παραπάνω κώδικας είναι λάθος 

εδώ είναι ο σωστός

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)))
  

To zip δεν έχει σχέση με το ζιπάρισμα αλλά με το φερμουάρ δες καλύτερα μόνος σου τι κάνει.

Το λέω γιατί θα χάσω κάτι και δεν θα καλύψω το θέμα

Αν σου πω δηλαδή ότι επιστρέφει ένα iter από πολλά iter αφού εξαντλήσει το μικρότερο πιστέυω δεν θα καταλάβεις και πολλά.

 

με παράδειγμα

>>> list(zip((1,2,3),(4,5,6)))
[(1, 4), (2, 5), (3, 6)]
>>> n=zip((1,2,3),(4,5,6))
>>> n
<zip object at 0x00000250BB567E88>

το join δες το και αυτό

παράδειγμα

>>> ':'.join('καλημέρα')
'κ:α:λ:η:μ:έ:ρ:α'
Επεξ/σία από k33theod

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...