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

PYTHON


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

Δημοσ.

Θέλω να φτιάξω ενα σενάριο που να στο 1ο σκέλος να εκτυπώνει τους αριθμούς μέχρι το 5 (αυτό το έχουμε πετύχει)

και στο δεύτερο να εκτυπώνει τους μονούς αριθμούς <10

 

i=0
while i<=5:
 print(i)
 i+=1


if i%2==1 and i<10:
 print(i)
 
 

 

 

Δημοσ.
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 και στην δευτερη. Δεν δουλεύει;

Δημοσ.
1 λεπτό πριν, Sheogorath είπε

Nαι τι πρόβλημα έχεις;

Βάλε while και στην δευτερη. Δεν δουλεύει;

το εχω δοκιμασει και με while και με for και με if και κανενα δεν λειτουργει εκτυπωνει το πρωτο σκέλος κανονικα και σταματαει εκει. σας στελνω και το αρχειο να το δειτε.

ex1.py

Δημοσ.
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

Δημοσ.
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

Δημοσ. (επεξεργασμένο)
2 λεπτά πριν, Kyrki είπε

αυτο μου εκτυπωνει τους αριθμους απο το 0 ως το 9

Δεν εκτυπώνει και το πρώτο μέλος;

Ε βάλε j αντί για i.

Κάτσε όλα τα νούμερα εκτυπώνει; Τότε δεν δουλεύει το modulus, βρες πως γραφεται στην python.

Επεξ/σία από Sheogorath
Δημοσ.

Δεν ξέρω 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

 

Δημοσ.
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 για να εχει μια σειρα?

Δημοσ.

Σίγουρα επειδή στο πρώτο σενάριο κάνεις i+=1 φτάνει το i απο 0 στο 5 και στο δεύτερο σενάριο επειδή δεν το μηδένιζες ξεκίναγε απο εκεί.

Την παρένθεση την έβαλα απο συνήθεια λόγω java δεν ξέρω αν διαφέρει σε κάτι χωρίς παρένθεση , επίσης κάνει διαφορά το indentation γιατί και εγώ που έγραψα το 2ο σενάριο και το  i+=1 το είχα κάτω απο το τελευταίο print(i) επειδή δεν έμπαινε μέσα στην 1η if , δεν ανέβαζε ποτέ την τιμή του και τελικά τελείωνε το πρόγραμμα

Αυτά κατάλαβα εγώ , ελπίζω να μην κάνω λάθος επειδή δεν γνωρίζω την γλώσσα και σε παραπληροφορήσω , αλλά αυτή την αίσθηση έχω

  • Like 1
Δημοσ.
33 λεπτά πριν, tsofras είπε

Σίγουρα επειδή στο πρώτο σενάριο κάνεις i+=1 φτάνει το i απο 0 στο 5 και στο δεύτερο σενάριο επειδή δεν το μηδένιζες ξεκίναγε απο εκεί.

Την παρένθεση την έβαλα απο συνήθεια λόγω java δεν ξέρω αν διαφέρει σε κάτι χωρίς παρένθεση , επίσης κάνει διαφορά το indentation γιατί και εγώ που έγραψα το 2ο σενάριο και το  i+=1 το είχα κάτω απο το τελευταίο print(i) επειδή δεν έμπαινε μέσα στην 1η if , δεν ανέβαζε ποτέ την τιμή του και τελικά τελείωνε το πρόγραμμα

Αυτά κατάλαβα εγώ , ελπίζω να μην κάνω λάθος επειδή δεν γνωρίζω την γλώσσα και σε παραπληροφορήσω , αλλά αυτή την αίσθηση έχω

ωραια, σε ευχαριστω πολυ!!

  • Like 1
Δημοσ.
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.

Δημοσ.

@Kyrki Όταν γράφουμε κώδικα σε forum χρησιμοποιούμε code tags. Σε κάθε forum θα είναι διαφορετικό κουμπάκι αλλά η αρχή λειτουργίας είναι σε όλα ιδια: https://forum.unity.com/threads/using-code-tags-properly.143875/

@tsofras Ναι το indentation παίζει ρόλο. Η παρένθεση στα conditionals είναι προαιρετική αλλά όταν είναι περίπλοκη η συνθήκη καλό είναι να μπαίνει για να μην υπάρχουν παρανοήσεις.

  • Thanks 2

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...