zynif Δημοσ. 25 Απριλίου 2014 Δημοσ. 25 Απριλίου 2014 skor=0 for iters in range(0, 200): X=0 LessThan=False #print ("iteration", iters) for i in range(1, 1000): if i>X: LessThan=False else: print ("Stopped at ", i) LessThan=True break else: continue if LessThan==False: print ('Skore update') Έχω ένα πρόβλημα που πάει ως εξής: Σκορ=0 Για κ επαναλήψεις Για ολα τα μέλη μιας λίστας έλεγξε αν ισχύει η συνθήκη Σ Αν ισχύει για όλα αύξησε το σκορ Αν δεν ισχύει για όλα προχώρα στην επόμενη επανάληψη Έγω γράψει το παραπάνω αλλά δεν λειτουργεί . Δεν τυπώνεται το Skore update.Τι έχω κάνει λάθος;;
gon1332 Δημοσ. 25 Απριλίου 2014 Δημοσ. 25 Απριλίου 2014 H else που έχεις κάτω από την εσωτερική for τι κάνει;
Timonkaipumpa Δημοσ. 25 Απριλίου 2014 Δημοσ. 25 Απριλίου 2014 for ii in range(iii): if all(condition(list_item) for list_item in my_list)): my_list = [list_item + 1 for list_item in my_list] Σε python και όχι σε C/C++/Java με χρήση python.
zynif Δημοσ. 25 Απριλίου 2014 Μέλος Δημοσ. 25 Απριλίου 2014 Λοιπόν το ξανασκέφτηκα και το έκανα έτσι Eίμαι πολύ αρχάριος σε python. skor=0 for iters in range(0, 200): X=0 GreaterThan=False print ("iteration", iters) for i in range(1, 1000): if i<X: print ("Stopped at ", i) GreaterThan=True break if GreaterThan==False: print ('Skore update') Tώρα δουλεύει. Αλλά πως πρέπει να αλλαχθεί ο κώδικας που έβαλα στο πρώτο ποστ έτσι ώστε να έχει την ίδια συμπεριφορά;
pmav99 Δημοσ. 25 Απριλίου 2014 Δημοσ. 25 Απριλίου 2014 Ανεξαρτήτως γλώσσας, όταν πουθενά αλλού δεν αλλάζεις την τιμή του, τι νόημα έχει να θέτεις το Χ = 0 σε κάθε loop; Με το break θες να βγεις από το inner loop ή και από τα δύο;
zynif Δημοσ. 25 Απριλίου 2014 Μέλος Δημοσ. 25 Απριλίου 2014 Το πραγματικό πρόβλημα που θέλω να λύσω έχει ως εξής: Για έναν αριθμό επαναλήψεων κάθε τα εξής: Σκορ=0 Aν για όλα τα items it στην λίστα L ισχύει myfunction(A,Γ)>myfunction(A,it)*myfunction(Γ,it) αύξησε το Σκορ Προφανώς αν βρεις ένα item στην κ επανάληψη για το οποίο δεν ισχύει η συνθήκη δεν έχει νόημα να συνεχίσεις να εξετάσεις και τα υπόλοιπα. Άρα κάνεις break και πας στην κ+1 επανάληψη
Timonkaipumpa Δημοσ. 25 Απριλίου 2014 Δημοσ. 25 Απριλίου 2014 Η λύση έχει ήδη δοθεί. Ο τρόπος που πας να το κάνεις είναι C/C++ και όχι Python. Εάν δεν θες να το κάνεις με python, κάνε το με C/C++. Εάν θες να το κάνεις με Python ήδη έχει γραφτεί πως πρέπει να γίνει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα