Kyrki Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 Θέλω να φτιάξω ενα σενάριο που να στο 1ο σκέλος να εκτυπώνει τους αριθμούς μέχρι το 5 (αυτό το έχουμε πετύχει) και στο δεύτερο να εκτυπώνει τους μονούς αριθμούς <10 i=0 while i<=5: print(i) i+=1 if i%2==1 and i<10: print(i)
Sheogorath Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 17 λεπτά πριν, Kyrki είπε Θέλω να φτιάξω ενα σενάριο που να στο 1ο σκέλος να εκτυπώνει τους αριθμούς μέχρι το 5 (αυτό το έχουμε πετύχει) και στο δεύτερο να εκτυπώνει τους μονούς αριθμούς <10 i=0 while i<=5: print(i) i+=1 if i%2==1 and i<10: print(i) Nαι τι πρόβλημα έχεις; Βάλε while και στην δευτερη. Δεν δουλεύει;
Kyrki Δημοσ. 21 Δεκεμβρίου 2018 Μέλος Δημοσ. 21 Δεκεμβρίου 2018 1 λεπτό πριν, Sheogorath είπε Nαι τι πρόβλημα έχεις; Βάλε while και στην δευτερη. Δεν δουλεύει; το εχω δοκιμασει και με while και με for και με if και κανενα δεν λειτουργει εκτυπωνει το πρωτο σκέλος κανονικα και σταματαει εκει. σας στελνω και το αρχειο να το δειτε. ex1.py
Sheogorath Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 7 λεπτά πριν, Kyrki είπε το εχω δοκιμασει και με while και με for και με if και κανενα δεν λειτουργει εκτυπωνει το πρωτο σκέλος κανονικα και σταματαει εκει. σας στελνω και το αρχειο να το δειτε. ex1.py Δοκίμασε αυτό i=0 while i<=5: print(i) i+=1 i=0 while i<10: if i%2==1 print(i) i+=1
Kyrki Δημοσ. 21 Δεκεμβρίου 2018 Μέλος Δημοσ. 21 Δεκεμβρίου 2018 5 λεπτά πριν, Sheogorath είπε Δοκίμασε αυτό i=0 while i<=5: print(i) i+=1 i=0 while i<10: if i%2==1 print(i) i+=1 αυτο μου εκτυπωνει τους αριθμους απο το 0 ως το 9
Sheogorath Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 (επεξεργασμένο) 2 λεπτά πριν, Kyrki είπε αυτο μου εκτυπωνει τους αριθμους απο το 0 ως το 9 Δεν εκτυπώνει και το πρώτο μέλος; Ε βάλε j αντί για i. Κάτσε όλα τα νούμερα εκτυπώνει; Τότε δεν δουλεύει το modulus, βρες πως γραφεται στην python. Επεξ/σία 21 Δεκεμβρίου 2018 από Sheogorath
tsofras Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 Δεν ξέρω python αλλά έγραψα αυτό σε έναν online editor και μάλλον δουλεύει print("1st run") i=0 while i<=5: print(i) i+=1 print("2nd run") i=0 while i<=10: if (i%2==1): print(i) i+=1
Kyrki Δημοσ. 21 Δεκεμβρίου 2018 Μέλος Δημοσ. 21 Δεκεμβρίου 2018 17 λεπτά πριν, Sheogorath είπε Δεν εκτυπώνει και το πρώτο μέλος; Ε βάλε j αντί για i. Κάτσε όλα τα νούμερα εκτυπώνει; Τότε δεν δουλεύει το modulus, βρες πως γραφεται στην python. οχι δεν εκτυπωνει το ουτε το 1ο μερος, δοκιμασα αντι για i το j στο δευτερο σκελος και παλι τιποτα. ναι ουσιαστικα παραλειπει το 1ο μερος εκτυπωνει ολα τα νουμερα μεχρι το 9. τωρα: i=0 while i<=5: print(i) i+=1 j=0 while i<10: if j%2==1: print(j) j+=1 σε αυτό το σεναριο (ναι στην while εχει παραμεινει i) μου εμφανιζει απειρους μονους αριθμους, σκεφτηκα να το σταματησω με Break στο 10 αλλα και παλι δεν μου εμαφνιζει το 1ο μερος, οποτε παλι σε αδιεξοδο 3 λεπτά πριν, tsofras είπε Δεν ξέρω python αλλά έγραψα αυτό σε έναν online editor και μάλλον δουλεύει print("1st run") i=0 while i<=5: print(i) i+=1 print("2nd run") i=0 while i<=10: if (i%2==1): print(i) i+=1 οντως δουλεύει, εαν καταλαβα απο τα λιγα που ξερω και εγω ηθελε ουσιαστικα να διαχωρησεις τα σεναρια? και οι () στην if για να εχει μια σειρα?
tsofras Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 Σίγουρα επειδή στο πρώτο σενάριο κάνεις i+=1 φτάνει το i απο 0 στο 5 και στο δεύτερο σενάριο επειδή δεν το μηδένιζες ξεκίναγε απο εκεί. Την παρένθεση την έβαλα απο συνήθεια λόγω java δεν ξέρω αν διαφέρει σε κάτι χωρίς παρένθεση , επίσης κάνει διαφορά το indentation γιατί και εγώ που έγραψα το 2ο σενάριο και το i+=1 το είχα κάτω απο το τελευταίο print(i) επειδή δεν έμπαινε μέσα στην 1η if , δεν ανέβαζε ποτέ την τιμή του και τελικά τελείωνε το πρόγραμμα Αυτά κατάλαβα εγώ , ελπίζω να μην κάνω λάθος επειδή δεν γνωρίζω την γλώσσα και σε παραπληροφορήσω , αλλά αυτή την αίσθηση έχω 1
Kyrki Δημοσ. 21 Δεκεμβρίου 2018 Μέλος Δημοσ. 21 Δεκεμβρίου 2018 33 λεπτά πριν, tsofras είπε Σίγουρα επειδή στο πρώτο σενάριο κάνεις i+=1 φτάνει το i απο 0 στο 5 και στο δεύτερο σενάριο επειδή δεν το μηδένιζες ξεκίναγε απο εκεί. Την παρένθεση την έβαλα απο συνήθεια λόγω java δεν ξέρω αν διαφέρει σε κάτι χωρίς παρένθεση , επίσης κάνει διαφορά το indentation γιατί και εγώ που έγραψα το 2ο σενάριο και το i+=1 το είχα κάτω απο το τελευταίο print(i) επειδή δεν έμπαινε μέσα στην 1η if , δεν ανέβαζε ποτέ την τιμή του και τελικά τελείωνε το πρόγραμμα Αυτά κατάλαβα εγώ , ελπίζω να μην κάνω λάθος επειδή δεν γνωρίζω την γλώσσα και σε παραπληροφορήσω , αλλά αυτή την αίσθηση έχω ωραια, σε ευχαριστω πολυ!! 1
becoming_I Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 Βασικά η σωστή διατύπωση μιας άσκησης/προγράμματος είναι και η μισή λύση της. 1
Sheogorath Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 4 ώρες πριν, Kyrki είπε οχι δεν εκτυπωνει το ουτε το 1ο μερος, δοκιμασα αντι για i το j στο δευτερο σκελος και παλι τιποτα. ναι ουσιαστικα παραλειπει το 1ο μερος εκτυπωνει ολα τα νουμερα μεχρι το 9. τωρα: i=0 while i<=5: print(i) i+=1 j=0 while i<10: if j%2==1: print(j) j+=1 σε αυτό το σεναριο (ναι στην while εχει παραμεινει i) μου εμφανιζει απειρους μονους αριθμους, σκεφτηκα να το σταματησω με Break στο 10 αλλα και παλι δεν μου εμαφνιζει το 1ο μερος, οποτε παλι σε αδιεξοδο οντως δουλεύει, εαν καταλαβα απο τα λιγα που ξερω και εγω ηθελε ουσιαστικα να διαχωρησεις τα σεναρια? και οι () στην if για να εχει μια σειρα? Προφανώς και δεν σταματάει στην δεύτερη περίπτωση, ελέγχεις το i ενώ αυξάνεις το j.
pmav99 Δημοσ. 21 Δεκεμβρίου 2018 Δημοσ. 21 Δεκεμβρίου 2018 @Kyrki Όταν γράφουμε κώδικα σε forum χρησιμοποιούμε code tags. Σε κάθε forum θα είναι διαφορετικό κουμπάκι αλλά η αρχή λειτουργίας είναι σε όλα ιδια: https://forum.unity.com/threads/using-code-tags-properly.143875/ @tsofras Ναι το indentation παίζει ρόλο. Η παρένθεση στα conditionals είναι προαιρετική αλλά όταν είναι περίπλοκη η συνθήκη καλό είναι να μπαίνει για να μην υπάρχουν παρανοήσεις. 2
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα