MauroPaltoudias Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 (επεξεργασμένο) Στις 6/4/2020 στις 11:12 ΠΜ, Lanike71 είπε Η ίδια άσκηση σε 2 θέματα. Εντάξει, αυτό δεν το ξαναείδα στο insomnia. Ε βέβαια. Η μία έγινε μέλος τη Δευτέρα 12.41, ο άλλος έγινε μέλος τη Δευτέρα 12.50. Πιστεύω ήταν εντελώς συμπτωματικό, δεν εξηγείται αλλιώς !😅 Επεξ/σία 8 Απριλίου 2020 από MauroPaltoudias 1
lektikos Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 Καλησπέρα σ' όλους σας. Μιας και μιλάτε για αρχεία στην python, έχω να ρωτήσω το εξής: Στην παρακάτω άσκηση: L =[ ] for i in range(1,11): num = i**2 L.append(num) F = open('numbers.txt', 'w') for item in L: F.write(str(item) + ',') F.close() F = open('numbers.txt', 'r') for line in F: print(line) Εκτυπώνονται τα τετράγωνα των αριθμών από 1 έως 10 ως εξής: 1,4,9,16,25,36,49,64,81,100, Πως μπορούμε να εκτυπώσουμε σε σειρά, αλλά χωρίς την τελευταία κόμμα μετά το 100? Ευχαριστώ!
Lanike71 Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 (επεξεργασμένο) 2 ώρες πριν, lektikos είπε Καλησπέρα σ' όλους σας. Μιας και μιλάτε για αρχεία στην python, έχω να ρωτήσω το εξής: Στην παρακάτω άσκηση: L =[ ] for i in range(1,11): num = i**2 L.append(num) F = open('numbers.txt', 'w') for item in L: F.write(str(item) + ',') F.close() F = open('numbers.txt', 'r') for line in F: print(line) Εκτυπώνονται τα τετράγωνα των αριθμών από 1 έως 10 ως εξής: 1,4,9,16,25,36,49,64,81,100, Πως μπορούμε να εκτυπώσουμε σε σειρά, αλλά χωρίς την τελευταία κόμμα μετά το 100? Ευχαριστώ! Λύσ' το πρώτα με τη λογική σου...Ποιό το πρόβλημα; Όλα τα στοιχεία του πίνακα είναι ΟΚ, εκτός του τελευταίου...Άρα; Επίσης, αν δεν το δεις το πρόβλημα ως ένα-ένα στοιχείο, μπορείς να το δεις συνολικά ως ένα string και αφού ξέρεις ότι έτσι κι αλλιώς θα εμφανιστεί το κόμμα στο τέλος του τελικού string, απλά απάλειψέ το με κάποια μέθοδο substring στην python. Επεξ/σία 8 Απριλίου 2020 από Lanike71
lektikos Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 2 ώρες πριν, Lanike71 είπε Λύσ' το πρώτα με τη λογική σου...Ποιό το πρόβλημα; Όλα τα στοιχεία του πίνακα είναι ΟΚ, εκτός του τελευταίου...Άρα; Επίσης, αν δεν το δεις το πρόβλημα ως ένα-ένα στοιχείο, μπορείς να το δεις συνολικά ως ένα string και αφού ξέρεις ότι έτσι κι αλλιώς θα εμφανιστεί το κόμμα στο τέλος του τελικού string, απλά απάλειψέ το με κάποια μέθοδο substring στην python. Δεν μπόρεσα να το βρω, τεσπα... Στις 15/3/2017 στις 10:21 ΜΜ, NikosKallithea είπε
Lanike71 Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 (επεξεργασμένο) 6 λεπτά πριν, lektikos είπε Δεν μπόρεσα να το βρω, τεσπα... Τι να βρεις ακριβώς; Λογική σκέψη θέλει. 1.Πάρε ένα αλφαριθμητικό και διέγραψε τον τελευταίο χαρακτήρα. 2.Έχεις ένα μετρητή για τον πίνακα. Όταν ο μετρητής είναι στο τελευταίο στοιχείο, μη βάζεις κόμμα, αλλιώς βάλε και το κόμμα. Αν όλο αυτό το έγραψες μόνος σου, δε θα σε δυσκολέψει αυτό που λέω. Επεξ/σία 8 Απριλίου 2020 από Lanike71
dovecotDev Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 Είναι μια απλή περίπτωση implode. Σε γλώσσα πύθωνα, είναι η str.join(iterable). ",".join(L) https://docs.python.org/3/library/stdtypes.html#str.join
Lanike71 Δημοσ. 8 Απριλίου 2020 Δημοσ. 8 Απριλίου 2020 14 λεπτά πριν, dovecotDev είπε Είναι μια απλή περίπτωση implode. Σε γλώσσα πύθωνα, είναι η str.join(iterable). ",".join(L) https://docs.python.org/3/library/stdtypes.html#str.join Εντάξει, μία μέθοδος της python που δε νομίζω να την έβρισκε (ούτε εγώ την ήξερα, δεν ξέρω python). Εδώ μιλάμε να μάθει να σκέφτεται κάποιος λογικά και όχι να μάθει απ' έξω τις μεθόδους-συναρτήσεις. 1
lektikos Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 11 λεπτά πριν, Lanike71 είπε Εντάξει, μία μέθοδος της python που δε νομίζω να την έβρισκε (ούτε εγώ την ήξερα, δεν ξέρω python). Εδώ μιλάμε να μάθει να σκέφτεται κάποιος λογικά και όχι να μάθει απ' έξω τις μεθόδους-συναρτήσεις. Ευχαριστώ και τους δύο σας! Εναλλακτικά, χωρίς τη χρήση της join, υπάρχει άλλος τρόπος?
becoming_I Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 (επεξεργασμένο) Βάλε μια απλή if αμέσως μετά τη for όταν προσπελάζεται το τελευταίο στοιχείο if i==L[-1]: F.write(str(item)) Επεξ/σία 9 Απριλίου 2020 από becoming_I 1
lektikos Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 2 ώρες πριν, becoming_I είπε Βάλε μια απλή if αμέσως μετά τη for όταν προσπελάζεται το τελευταίο στοιχείο if i==L[-1]: F.write(str(item)) Να 'σαι καλά φίλε!! Αυτό ήθελα, σ' ευχαριστώ! L =[] for i in range(1,11): num = i**2 L.append(num) #print(L) F = open('noumera.txt', 'w') for item in L: if i == L[-1]: F.write(str(item)+' , ') F.close() F = open('noumera.txt', 'r') for line in F: print(line) F.close() Έβαλα την if, αλλά δεν τυπώνει τίποτα...κάνω κάτι λάθος?
pmav99 Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 for item in L: if i == L[-1]: To i τι τιμή έχει; Από ποιο loop την παίρνει;
lektikos Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 (επεξεργασμένο) 24 λεπτά πριν, pmav99 είπε for item in L: if i == L[-1]: To i τι τιμή έχει; Από ποιο loop την παίρνει; Κανονικά, η μεταβλητή num, στην οποία εκχωρείται το αποτέλεσμα των τετραγώνων των αριθμών, δεν είναι αυτή που πρέπει να μπει στον έλεγχο της if? Δηλαδή if num == L[-1]: F.write(str(item)+ ' ') Επεξ/σία 9 Απριλίου 2020 από lektikos
becoming_I Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 Το i τυχαία το έβαλα εγώ, έπρεπε να βάλω item
lektikos Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 (επεξεργασμένο) 21 λεπτά πριν, becoming_I είπε Το i τυχαία το έβαλα εγώ, έπρεπε να βάλω item Σ' ευχαριστώ. Το είχα δοκιμάσει και 'γω με item == L[-1] αλλά έτσι τυπώνει μόνο ----> 100, Επεξ/σία 9 Απριλίου 2020 από lektikos
lektikos Δημοσ. 9 Απριλίου 2020 Δημοσ. 9 Απριλίου 2020 1 ώρα πριν, lektikos είπε Σ' ευχαριστώ. Το είχα δοκιμάσει και 'γω με item == L[-1] αλλά έτσι τυπώνει μόνο ----> 100, ΟΚ, το βρήκα. Ακολούθησα αυτό που πρότεινε ο Lanike71. Έβαλα τo εξής: if item != L[len-(L)-1]: F.write(str(item) +',') else: F.write(str(item)) F.close() και έτρεξε μια χαρά! 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα