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

Απορία για κώδικα σε Python...


Lomar

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

Δημοσ.

Προσπαθώ εδώ και κάτι ώρες να εξοικειωθώ με την 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


 

Ευχαριστώ για την όποια βοήθεια...

Δημοσ.

Κοιτάξτε να δείτε, εναν έλεγχο για την περιπτωση που ο χρήστης δεν δώσει ούτε 1 ούτε 0 σαν είσοδο, ήθελα να κάνω, δλδ όταν γράψει για είσοδο έναν άσχετο αριθμό, να του ζητήσει να ξαναγράψει την είσοδο σωστά, δλδ ή 0 ή 1, όχι κάτι άλλο, ούτε και τα 2 μαζί, γιατί αυτό πολύ απλά δεν γίνεται, δλδ ή το ένα ή το άλλο θέλουμε σαν είσοδο, όχι κάτι άλλο...

 

Anyway, thnks για τις συμβουλές, όποιος κατάλαβε τι εννοώ ας βοηθήσει κ αυτός...

Δημοσ.

if telos!=0 or telos!=1

 

Αυτό φίλε μου είναι πάντα true. Δεν γίνεται ποτέ false.

 

Ο μόνος έλεγχος που χρειάζεται είναι αυτός που σου έγραψε ο random.

Δημοσ.

δεν ξερω απο Python αλλα δες αυτο

μεσα στο δευτερο while γραψε

 

telos=5

while (telos<0 || telos>1):

telos=input....

και μετα το if που εγραψε ο random

Δημοσ.

@ 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!!!!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...