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

Βαθμο που θα βαζατε σε αυτο το προγραμμα!


giorgosmp

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

Καλησπερα παιδια!

 

Οπως καταλαβαινετε ειμαι σε σχολη μηχανικων πληροφορικης και οπως καταλαβαινετε εχω και προγραμματισμο.. Στην εξεταστικη μου ζητηθηκε ενα προγραμμα που να δινω 3 αριθμους και να βγαζει μεγαλυτερο μεσαιο μικροτερο σε Pyhton η javascript... Επελεξα Python διοτι τα πηγαινω πολυ καλυτερα και πηρα στο παρακατω προγραμμα 3/10... εσεις τι βαθμο θα βαζατε μονο απο περιεργεια γιατι το εχω δοκιμασει 1000 φορες και δουλευει ρολοι.. Να πω οτι ειμαι τελείως αρχαριος!

 

print("Δώσε 3 αριθμούς")
a=input()
b=input()
c=input()
 
max=a
if max<b:
    max=b
if max<c:
    max=c
 
if a<b<max:
    mid=b
if a<c<max:
    mid=c
if b<a<max:
    mid=a
if b<c<max:
    mid=c
if c<a<max:
    mid=a
if c<b<max:
    mid=b
 
if a<mid<max:
    min=a
if b<mid<max:
    min=b
if c<mid<max:
    min=c
 
print("Τελικό αποτέλεσμα")
print(max)
print(mid)
print(min)
 
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 89
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Ειναι πολυ απλο προγραμμα..γιατι θες να το βαθμολογισουμε? :ph34r:

Γιατι ειμαι σιγουρος δεν αξιζα 3/10 που μου εβαλε ο καθηγητης.... Και θελω να δω εσεις σαν κριτες που κατι ξερετε πως θα με βαθμολογουσατε... Η πειτε μου απλα αν θα μου βαζατε λιγοτερο η περισσοτερο απο 3!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για 3 στα 10 δεν ειναι αλλα περα απο την ορθοτητα τον ενδιαφερει και πως το εγραψες. Υπαρχει συντομοτερος και καλυτερος τροπος να γραφει. Στην τελικη εσυ οταν συγκρινεις 3 αριθμους πως το κανεις?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

δε γνωρίζω python αλλά αν το προγραμμα δουλευει, ο μοναδικος λογος που μου ερχεται για να παρεις 3/10 είναι επειδη ο κωδικας σου δεν ακολουθει τις καλυτερες πρακτικες της γλωσσας.
 

p.s. δε παιζει να μην υπαρχει max και min συναρτηση στη python.

 

edit: οπως είπε και ο λορδος ανουβις, υπαρχει πολυ πιο καλος τροπος να γραφει. Αν και το προγραμμα λειτουργει, μπορεις ευκολα να αποφύγεις κωδικα. Σε αλγοριθμικο επιπεδο, το προγραμματακι σου δεν ειναι τελειο αφου εχεις πεταξει 11 λογικους ελεγχους που ολοι θα τρεξουν ενω καποιοι θα μπορουσαν να ειχαν αποφευχθει

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για 3 στα 10 δεν ειναι αλλα περα απο την ορθοτητα τον ενδιαφερει και πως το εγραψες. Υπαρχει συντομοτερος και καλυτερος τροπος να γραφει. Στην τελικη εσυ οταν συγκρινεις 3 αριθμους πως το κανεις?

Μα το εχω τρεξει χιλιες φορες στο προγραμμα τον windows (python 3.4.2) και δουλευει κανονικοτατα χωρις κανενα προβλημα... Οκ το πιστευω οτι υπαρχει συντομοτερος τροπος αλλα οπως ειπα ειμαι αρχαριος και δεν ξερω και πολλα.. σιγουρα παντως ετσι οπως το εχω κανει ειναι σωστο και απλα ελεγχο ολες τις πιθανοτητες... Τι να πω ευχαριστω παντως που μου λετε οτι δεν εχω κανει καπου λαθος για να με κοψει και με το δικιο του...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

   Λογικο να παρεις 3 εφοσον ελυσες την ασκηση με τον χειροτερο δινατο τροπο.  Δεν εχει σημασια το οτι βρηκες το αποτελεσμα, αυτο και ενα παιδακι του δημοτικου μπορει να το βγαλει, το θεμα ειναι να το βγαλεις με τον πιο σωστο τροπο, και αυτο βαθμολογισε o καθηγητης σου.

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

 

Ο σωστος τροπος θα ητανε να βαλεις τα δεδομενο σε μια λιστα και να τα κανεις sort. 

 
a=input()
b=input()
c=input()
var list = [a,b,c ] 
list.sort();
list.reverse():
for(var i = 0; i < list.length; i++) {
   print(list)
 
 Και για αυτο πηρες 3 και οχι 0 στην τελικη, επειδη τρεχει.
  • Like 5
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1/10 θα σου έδινα. Γιατί;

Γιατί απλά έχασες την ουσία του προβλήματος. Τί θα έκανες αν σου έλεγε 100 αριθμούς; Θα έγραφες 1000 if statements;

Το πρόβλημα είναι εύκολο, σου ζητά να βρεις τον μέγιστο και τον μεσαίο και τον μικρότερο σε λίστα 3 αριθμών.

Για το μέγιστο, πέρνεις την λίστα και χρησιμοποιεί στην Python την μέθοδο max()
Για τον μικρότερο πέρνεις την λίστα και χρησιμοποιείς την μέθοδο min()

Για τον median η Python 3.4 και μετά έχει το statistics built-in οπότε μπορείς να χρησιμοποιείσεις την μέθοδο statistics.median.
 

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μα το εχω τρεξει χιλιες φορες στο προγραμμα τον windows (python 3.4.2) και δουλευει κανονικοτατα χωρις κανενα προβλημα... Οκ το πιστευω οτι υπαρχει συντομοτερος τροπος αλλα οπως ειπα ειμαι αρχαριος και δεν ξερω και πολλα.. σιγουρα παντως ετσι οπως το εχω κανει ειναι σωστο και απλα ελεγχο ολες τις πιθανοτητες... Τι να πω ευχαριστω παντως που μου λετε οτι δεν εχω κανει καπου λαθος για να με κοψει και με το δικιο του...

 

Ναι εγω το καταλαβαινω οτι εισαι αρχαριος για αυτο σου λεω εστω οτι εισαι εσυ σου δινουν 3 αριθμους, κανεις 11 ελεγχους για 3 αριθμους για να βρεις μικροτερο και μεγαλυτερο?

Απλα και σε μας ετσι λειτουργουσε, αν το εκανες σωστα επαιρνες μεχρι Χ βαθμους, ολους τους επαιρνες με μια αποδοτικη και σωστη λυση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

   Λογικο να παρεις 3 εφοσον ελυσες την ασκηση με τον χειροτερο δινατο τροπο.  Δεν εχει σημασια το οτι βρηκες το αποτελεσμα, αυτο και ενα παιδακι του δημοτικου μπορει να το βγαλει, το θεμα ειναι να το βγαλεις με τον πιο σωστο τροπο, και αυτο βαθμολογισε o καθηγητης σου.

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

 

Ο σωστος τροπος θα ητανε να βαλεις τα δεδομενο σε μια λιστα και να τα κανεις sort. 

 
a=input()
b=input()
c=input()
var list = [a,b,c ] 
list.sort();
list.reverse():
for(var i = 0; i < list.length; i++) {

   print(list)

 
 Και για αυτο πηρες 3 και οχι 0 στην τελικη, επειδη τρεχει.

 

μαλιστα δηλαδη μου λες στο τει που ειμαι χωρις να εχει διδαχτει αυτο εκανα κατι τετοιο.. Δεν λεω λογικο αλλα οπως ειπα ειμαι αρχαριος δεν ξερω ουτε καν τα περισσοτερα βασικα...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

μαλιστα δηλαδη μου λες στο τει που ειμαι χωρις να εχει διδαχτει αυτο εκανα κατι τετοιο.. Δεν λεω λογικο αλλα οπως ειπα ειμαι αρχαριος δεν ξερω ουτε καν τα περισσοτερα βασικα...

  Για αυτο πηρες 3, επειδη δεν ξερεις οπως ειπες τα περισσοτερα βασικα. Και εφοσον δεν ξερεις τις λιστες ορθα επρεξε ο καθηγητης σου.

  Αλλωστε τωρα εμαθες κατι κανουργιο, οποτε σε καλο θα σου βγει.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1/10 θα σου έδινα. Γιατί;

 

Γιατί απλά έχασες την ουσία του προβλήματος. Τί θα έκανες αν σου έλεγε 100 αριθμούς; Θα έγραφες 1000 if statements;

 

Το πρόβλημα είναι εύκολο, σου ζητά να βρεις τον μέγιστο και τον μεσαίο και τον μικρότερο σε λίστα 3 αριθμών.

 

Για το μέγιστο, πέρνεις την λίστα και χρησιμοποιεί στην Python την μέθοδο max()

Για τον μικρότερο πέρνεις την λίστα και χρησιμοποιείς την μέθοδο min()

 

Για τον median η Python 3.4 και μετά έχει το statistics built-in οπότε μπορείς να χρησιμοποιείσεις την μέθοδο statistics.median.

 

Εισαι σκληρος για εναν αρχαριο φιλε.. Αν το πηγαινες ετσι καθε χρονο θα ειχες τους διπλασιους φοιτητες.. Αλλα ναι οντως εχεις δικιο αν μου εδινε 100 αριθμους... Σε ευχαριστω παντως για την απαντηση...

  Για αυτο πηρες 3, επειδη δεν ξερεις οπως ειπες τα περισσοτερα βασικα. Και εφοσον δεν ξερεις τις λιστες ορθα επρεξε ο καθηγητης σου.

  Αλλωστε τωρα εμαθες κατι κανουργιο, οποτε σε καλο θα σου βγει.

Ενταξει δεν εχεις αδικο... παντως στο δικο σου προγραμμα μου εβγαζε εδω λαθος -> var list = [a,b,c] μαλλον απο κεκτημενη ταχυτητα!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

Φίλε Γιώργο,

 

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

 

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

 

Αν έχετε μάθει τις max() and min() (που το θεωρώ αρκετά πιθανό) τότε μια πιο "κομψή" λύση θα μπορούσε να είναι κάτι σαν το παρακάτω:

maximum = max( a, max(b,c) )
minimum = min( a, min(b,c) )
middle  = a + b + c - minimum - maximum
Αν δεν έχετε μάθει τις min() και max() αλλά έχετε μαθει να φτιάχνετε συναρτήσεις, θα μπορούσες να φτιάξεις 2 δικές σου υλοποιήσεις αυτών των 2 συναρτήσεων. Επεξ/σία από migf1
  • Like 4
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε Γιώργο,

 

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

 

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

 

Αν έχετε μάθει τις max() and min() (που το θεωρώ αρκετά πιθανό) τότε μια πιο "κομψή" λύση θα μπορούσε να είναι κάτι σαν το παρακάτω:

maximum = max( a, max(b,c) )
minimum = min( a, min(b,c) )
middle  = a + b + c - min - max
Αν δεν έχετε μάθει τις min() και max() αλλά έχετε μαθει να φτιάχνετε συναρτήσεις, θα μπορούσες να φτιάξεις 2 δικές σου υλοποιήσεις αυτών των 2 συναρτήσεων.

 

Να πω πως αυτο ηταν στο εργαστηριο... Ναι ειχαμε μαθει max min θεωρια αλλα δεν μας ειχα πει κατι για ποιο απλο τροπο.. Τι να πω θα παω να τον βρω απο κοντα γιατι δεν γινετε να το δηλωσω για 3η φορα...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

  • Δημιουργία νέου...