oPOld έγραψε:
Καλησπερα σε ολους,Τι κανετε!;;Εχω ενα προβλημα με μια ασκηση η οποια ειναι αυτη:
import random
list=[]
colors=
for i in range(20):
list.append(random.choice(colors))
print (list)
for i in range(20):
if list=="blue":
list.insert(19,list.pop(i))
if list=="red":
list.insert(0,list.pop(i))
print (list)
θελώ οποιος μπορει να μου στειλει εδω εναν αλλο τρπο ποιο ευκολο και γρηγορο χωρις πολλες εντολες και μεταβλητες πχ αν γινεται με μια μονο εντολη (εχω ακουσει οτι υπαρχει η εντολη sort αλλα δεν ξερω πως να την χρησιμοποιησω σωστα) η κατι αλλο τελως παντων να μου προτεινεται .Ευχαριστω
Ο κώδικας σου στην ουσία αυτό που κάνει είναι να ταξινομεί τα χρώματα κατά φθίνουσα σειρά (από μεγαλύτερο σε μικρότερο).
Βέβαια να ξέρεις ότι δεν είναι γενικός και θα δουλεύει μόνο σε αυτό το παράδειγμα. Δηλαδή αν σου δώσω μία άλλη λίστα με χρώματα δεν θα τα ταξινομεί σωστά.
Μπορείς να καλέσεις την μέθοδο
sort() η οποία στο κάνει αυτόματα για εσένα.
Πχ
a = [5,3,7,2]
a.sort()
print(a)
Έξοδος:
Όπως βλέπεις η sort στα ταξινομεί κατά αύξουσα σειρά, ενώ εσύ θέλεις το ανάποδο. Μπορείς να πεις την
sort() να στα ταξινομήσει κατά φθίνουσα σειρά, δινοντάς της το όρισμα
reverse=True.
Πχ
a = [5,3,7,2]
a.sort(reverse = True)
print(a)
Έξοδος:
Άρα τώρα προσπάθησε να ξανά γράψεις τον κωδικά σου χρησιμοποιόντας την
sort() και βέβαια ανέβασε τον κώδικα να τον δούμε