Lomar Δημοσ. 21 Φεβρουαρίου 2007 Δημοσ. 21 Φεβρουαρίου 2007 Προσπαθώ εδώ και κάτι ώρες να εξοικειωθώ με την Python, η οποία αν μη τι άλλο είναι πολύ εύχρηστη και λειτουργική. Λοιπόν το πρόβλημά μου είναι το εξής: Στον παρακάτω κώδικα, ο interpretter δεν μου εμφανίζει καθόλου λάθη, αλλά όταν πάω να εκτελέσω τον κώδικα, μου εκτυπώνεται συνεχώς, κολλώντας ουσιαστικά στη 2η λούπα το μήνυμα που ζητάω για την εισαγωγή της τιμής στην μεταβλητή εξόδου... Gia telos dwse 1, gia sunexeia 0: , δηλαδή ο,τι τιμή και να δώσω στην telos, μου επαναλαμβάνεται συνεχώς το ίδιο μήνυμα... > telos=0 telos2=0 while telos==0: while telos2==0: telos=input ("\nGia telos dwse 1, gia sunexeia 0: ") if telos!=0 or telos!=1: telos2=0 else: telos2=1 Ευχαριστώ για την όποια βοήθεια...
gtroza Δημοσ. 21 Φεβρουαρίου 2007 Δημοσ. 21 Φεβρουαρίου 2007 κάνε το or > and μήπως είναι αυτό που θέλεις
Lomar Δημοσ. 22 Φεβρουαρίου 2007 Μέλος Δημοσ. 22 Φεβρουαρίου 2007 Κοιτάξτε να δείτε, εναν έλεγχο για την περιπτωση που ο χρήστης δεν δώσει ούτε 1 ούτε 0 σαν είσοδο, ήθελα να κάνω, δλδ όταν γράψει για είσοδο έναν άσχετο αριθμό, να του ζητήσει να ξαναγράψει την είσοδο σωστά, δλδ ή 0 ή 1, όχι κάτι άλλο, ούτε και τα 2 μαζί, γιατί αυτό πολύ απλά δεν γίνεται, δλδ ή το ένα ή το άλλο θέλουμε σαν είσοδο, όχι κάτι άλλο... Anyway, thnks για τις συμβουλές, όποιος κατάλαβε τι εννοώ ας βοηθήσει κ αυτός...
The_Edge Δημοσ. 22 Φεβρουαρίου 2007 Δημοσ. 22 Φεβρουαρίου 2007 if telos!=0 or telos!=1 Αυτό φίλε μου είναι πάντα true. Δεν γίνεται ποτέ false. Ο μόνος έλεγχος που χρειάζεται είναι αυτός που σου έγραψε ο random.
george86 Δημοσ. 22 Φεβρουαρίου 2007 Δημοσ. 22 Φεβρουαρίου 2007 δεν ξερω απο Python αλλα δες αυτο μεσα στο δευτερο while γραψε telos=5 while (telos<0 || telos>1): telos=input.... και μετα το if που εγραψε ο random
The_Edge Δημοσ. 22 Φεβρουαρίου 2007 Δημοσ. 22 Φεβρουαρίου 2007 Nope, ΑΚΡΙΒΩΣ όπως το έγραψε ο random > telos=0 telos2=0 while telos==0: while telos2==0: telos=input ("\nGia telos dwse 1, gia sunexeia 0: ") if telos==1: telos2=1
The_Edge Δημοσ. 22 Φεβρουαρίου 2007 Δημοσ. 22 Φεβρουαρίου 2007 Edit: Τώρα κατάλαβα τι λες... > telos=-1 while telos!=1 and telos!=0: telos=input ("\nGia telos dwse 1, gia sunexeia 0: ")
Lomar Δημοσ. 22 Φεβρουαρίου 2007 Μέλος Δημοσ. 22 Φεβρουαρίου 2007 thnks Πότε δεν ήμουν καλός στην έκφραση έκθεση, για αυτό δεν καταλάβατε με την μια τι ήθελα να πω
Lomar Δημοσ. 22 Φεβρουαρίου 2007 Μέλος Δημοσ. 22 Φεβρουαρίου 2007 @ The_Edge Μάλλον δεν ήταν ακριβώς αυτό που ήθελα... Για την ακρίβεια ήθελα έλεγχο, στην περίπτωση που ο χρήστης δώσει μια άσχετη τιμη, να του ζητήσει να δώσει, ή 0 για συνέχεια, ή 1 για τέλος... Κάτι τέτοιο μου φαινόταν πολύ λογικό: > telos=-1 if telos!=1 or telos!=0: while telos!=1 and telos!=0: telos=input ("\nGia telos dwse 1, gia sunexeia 0: ") Αλλά, γίνεται πάλι το ίδιο, μου ζητάει ξανά την εισαγωγή τιμής, για οποιαδήποτε τιμή... Δεν μπορώ να καταλάβω ποιο ακριβώς είναι το λάθος, το τμήμα αυτό κώδικα το ήθελα για έλεγχο σε ένα άλλο που φτιάχνω, αλλά κάτι που μου φαινόταν λογικό, δεν είναι όπως το περίμενα... EDIT: δοκίμασα και το παρακάτω... > telos=0 telos2=-1 while telos==0: while telos2!=1 or telos2!=0: telos2=input("\n 1 gia telos, 0 gia sunexeia: ") if telos2==0: telos=0 telos2=-1 elif telos2==1: telos=1 else: telos2=-1 Και δουλεύει!!!! Τελικά ήταν πολύ χαζό που χρησιμοποιούσα την or!!!!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.