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

python break continue


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

Δημοσ.
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.Τι έχω κάνει λάθος;;

Δημοσ.

Λοιπόν το ξανασκέφτηκα και το έκανα έτσι

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ώρα δουλεύει. Αλλά πως πρέπει να αλλαχθεί ο κώδικας που έβαλα στο πρώτο ποστ έτσι ώστε να έχει την ίδια συμπεριφορά;

Δημοσ.

Ανεξαρτήτως γλώσσας, όταν πουθενά αλλού δεν αλλάζεις την τιμή του, τι νόημα έχει να θέτεις το Χ = 0 σε κάθε loop;

 

Με το break θες να βγεις από το inner loop ή και από τα δύο;

Δημοσ.

Το πραγματικό πρόβλημα που θέλω να λύσω έχει ως εξής:

 

Για έναν αριθμό επαναλήψεων κάθε τα εξής:

    Σκορ=0

  

 

    Aν για όλα τα items it στην λίστα L ισχύει  myfunction(A,Γ)>myfunction(A,it)*myfunction(Γ,it) αύξησε το Σκορ

 

 

Προφανώς αν βρεις ένα item στην κ επανάληψη για το οποίο δεν ισχύει η συνθήκη δεν έχει νόημα να συνεχίσεις να εξετάσεις και τα υπόλοιπα. Άρα κάνεις break και πας στην κ+1 επανάληψη

Δημοσ.

Η λύση έχει ήδη δοθεί. 


Ο τρόπος που πας να το κάνεις είναι C/C++ και όχι Python.

 

 

Εάν δεν θες να το κάνεις με python, κάνε το με C/C++. Εάν θες να το κάνεις με Python ήδη έχει γραφτεί πως πρέπει να γίνει. 

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

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

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

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

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

Σύνδεση

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

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