billsowngame Δημοσ. 4 Μαρτίου 2023 Δημοσ. 4 Μαρτίου 2023 Γεια σας, έχω μια άσκηση στην Pyhton που έχει να κάνει με τις λίστες . α) Στο πρώτο ερώτημα που λέει να βρώ μια λίστα με την την τεχνική list comprehension που να έχει σαν στοιχεία της τα πολλαπλάσια του x από την τιμή 1 μέχρι και την τιμή y. β) Βρίσκω αυτή τη λίστα και μετά μου ζητάει να του βρω μία άλλη λίστα η οποία σε κάθε θέση της έχει την τιμή 0 ή 1 ανάλογα αν το αντίστοιχο στοιχείο της mylist (δηλ. αυτό που βρίσκεται στην αντίστοιχη θέση) είναι άρτιος ή περιττός αριθμός (0 για άρτιο ή 1 για περιττό αριθμό).Δηλαδή αν στο πρώτο ερώτημα βάλω τις τιμές x=3 και y=5 τότε η λίστα έχει τη μορφή: [3, 6, 9, 12, 15] και στο β) ερώτημα θα πρέπει να είναι της μορφής [1, 0, 1, 0, 1]. τι πρέπει να κάνω ?
archer100 Δημοσ. 4 Μαρτίου 2023 Δημοσ. 4 Μαρτίου 2023 Παροτι δεν ειναι σωστο να δινονται λυσεις σε ασκησεις εκ του μηδενος, θα σου απαντησω επειδη εχεις κανει ηδη τη μιση (η οποια λυση σου ειναι μια χαρα). Ο πιο απλος τροπος ειναι αυτος: [0 if i%2==0 else 1 for i in mylist] και μια εναλλακτικη: [(not i%2==0)*1 for i in mylist] αποτελεσμα και των 2 ειναι [1, 0, 1, 0, 1] 1
SOADNICK Δημοσ. 4 Μαρτίου 2023 Δημοσ. 4 Μαρτίου 2023 2 ώρες πριν, archer100 είπε και μια εναλλακτικη: [(not i%2==0)*1 for i in mylist] αποτελεσμα και των 2 ειναι [1, 0, 1, 0, 1] Νομίζω απλούστερη εναλλακτική είναι το i & 1 1
archer100 Δημοσ. 5 Μαρτίου 2023 Δημοσ. 5 Μαρτίου 2023 9 ώρες πριν, SOADNICK είπε Νομίζω απλούστερη εναλλακτική είναι το i & 1 Ωραιος. To & το ηξερα ως AND, πως ακριβως δουλευει με τη λογικη αρτιων-περιττων;
billsowngame Δημοσ. 5 Μαρτίου 2023 Μέλος Δημοσ. 5 Μαρτίου 2023 Σας ευχαριστώ για τις απαντήσεις σας σκέφτηκα αυτό είναι λάθος ? mylist01 = [] for num in mylist: if num % 2 == 0: mylist01.append(0) else: mylist01.append(1) print(mylist01) 1
archer100 Δημοσ. 5 Μαρτίου 2023 Δημοσ. 5 Μαρτίου 2023 2 λεπτά πριν, billsowngame είπε Σας ευχαριστώ για τις απαντήσεις σας σκέφτηκα αυτό είναι λάθος ? mylist01 = [] for num in mylist: if num % 2 == 0: mylist01.append(0) else: mylist01.append(1) print(mylist01) Μια χαρα ειναι. 1
SOADNICK Δημοσ. 5 Μαρτίου 2023 Δημοσ. 5 Μαρτίου 2023 16 ώρες πριν, archer100 είπε Ωραιος. To & το ηξερα ως AND, πως ακριβως δουλευει με τη λογικη αρτιων-περιττων; Λόγω της αναπαράστασης στο δυαδικό οι άρτιοι έχουν δεξιότερο bit (lsb) 0 ενώ οι περιττοί 1 πχ το 12 είναι 1100 ενώ το 13 1101 άρα το & 1 (0001) θα δώσει 0000 και 0001 αντίστοιχα. 1
Επισκέπτης Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 (επεξεργασμένο) Στις 5/3/2023 στις 10:30 ΠΜ, billsowngame είπε Σας ευχαριστώ για τις απαντήσεις σας σκέφτηκα αυτό είναι λάθος ? mylist01 = [] for num in mylist: if num % 2 == 0: mylist01.append(0) else: mylist01.append(1) print(mylist01) Πάντως δεδομένου ότι γράφεις python, ίσως μια καλή ιδέα θα ήταν να προπονηθείς και με τα list comprehensions. Ας πούμε ο κώδικάς σου γίνεται: mylist01 = [ 1 if num%2 else 0 for num in mylist] (εδώ δεν χρειάζομαι το ==0 και πατάω στο γεγονός ότι αριθμητικές τιμές διάφορες του 0 δίνουν αποτέλεσμα True στο if) Επεξ/σία 7 Μαρτίου 2023 από Orestis_G
SOADNICK Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 4 ώρες πριν, Orestis_G είπε Πάντως δεδομένου ότι γράφεις python, ίσως μια καλή ιδέα θα ήταν να προπονηθείς και με τα list comprehensions. Ας πούμε ο κώδικάς σου γίνεται: mylist01 = [ 1 if num%2 else 0 for num in mylist] (εδώ δεν χρειάζομαι το ==0 και πατάω στο γεγονός ότι αριθμητικές τιμές διάφορες του 0 δίνουν αποτέλεσμα True στο if) Ούτε το if χρειάζεται βασικά, αρκεί το num % 2
Επισκέπτης Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 4 λεπτά πριν, SOADNICK είπε Ούτε το if χρειάζεται βασικά, αρκεί το num % 2 Ναι, σωστός, το μόνο υπόλοιπο που μπορεί να έχει ακέραιος/2 είναι το 1...
archer100 Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 (επεξεργασμένο) ignore Επεξ/σία 7 Μαρτίου 2023 από archer100
Επισκέπτης Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 Μόλις τώρα, archer100 είπε To num%2 σκετο δινει 0 ενω η ασκηση ζηταει 1 mylist01=[num%2 for num in mylist] Σωστό αποτέλεσμα δίνει
SOADNICK Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 1 λεπτό πριν, archer100 είπε To num%2 σκετο δινει 0 ενω η ασκηση ζηταει 1 0 ή 1 ανάλογα αν το αντίστοιχο στοιχείο της mylist (δηλ. αυτό που βρίσκεται στην αντίστοιχη θέση) είναι άρτιος ή περιττός αριθμός (0 για άρτιο ή 1 για περιττό αριθμό).
archer100 Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 Μόλις τώρα, SOADNICK είπε 0 ή 1 ανάλογα αν το αντίστοιχο στοιχείο της mylist (δηλ. αυτό που βρίσκεται στην αντίστοιχη θέση) είναι άρτιος ή περιττός αριθμός (0 για άρτιο ή 1 για περιττό αριθμό). Ναι, λαθος μου, νομιζα ζητουσε το αναποδο
SOADNICK Δημοσ. 7 Μαρτίου 2023 Δημοσ. 7 Μαρτίου 2023 1 λεπτό πριν, archer100 είπε Ναι, λαθος μου, νομιζα ζητουσε το αναποδο Πάντως και το ανάποδο μπορεί να γίνει και χωρίς if, με το 1 - num % 2 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα