Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2

ΘΕΜΑ: H while δεν μου κανει το χατιρι

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4360

  • Bozonio
  • Το Άβαταρ του/της Bozonio
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Γεια σας. Εχω ξεκινησει τα βασικα πανω στην Python και εχω ενα απλο προγραμματακι οπου δινω εναν αριθμο απο το πληκτρολογιο. Οσο το Statement ειναι True loopαρει μεσα στον βρογχο και μου ζηταει να δινω αριθμους εμφανιζοντας αν ειναι μεγαλυτερος η μικροτερος απο αυτο που εχω δηλωσει στην αρχη του προγραμματος. Το statement τερματιζει οταν δωσω τον αριθμο που ψαχνουμε. Το προβλημα ειναι οτι μου γυρναει error αλλα δεν καταλαβαινω γιατι! Ο κωδικας μου ειναι αυτος
number = 23
statement = True
 
while statement:
	guess = int(input('Guess The Number: '))
 
	if guess == number:
		print ('You Found The Number!')
		statement = False
 
	elif guess < number:
		print ('It\'s Smaller')
 
	else:
		print ('It\'s Bigger')
 
else:
	print ('Bye!')

και παιρνω αυτο το error
File "while.py", line 5
    guess = int(input('Guess The Number: '))
    ^
IndentationError: unexpected indent

Που κανω λαθος? Ευχαριστω εκ των προτερων!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4361

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Bozonio έγραψε:
Που κανω λαθος?
Πουθενά!
Ο κώδικας είναι σωστός.
Εδώ δουλεύει.
Το μόνο που έκανα είναι να αλλάξω τα tabs με 4 spaces (το κάνει αυτόματα το IDE που χρησιμοποιώ)
Κανονικά θα έπρεπε να δουλεύει και σε εσένα.
Ο κώδικας που τρέχει είναι:
number = 23
statement = True
 
while statement:
    guess = int(input('Guess The Number: '))
 
    if guess == number:
        print ('You Found The Number!')
        statement = False
 
    elif guess < number:
        print ('It\'s Smaller')
 
    else:
        print ('It\'s Bigger')
 
else:
    print ('Bye!')
Δοκίμασε να κάνεις ένα copy-paste.
Στους περισσότερους editors μπορείς να ορίσεις να χρησιμοποιούν μόνο spaces (συνιστάται στην python).
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Bozonio

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4362

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Bozonio έγραψε:
Γεια σας. Εχω ξεκινησει τα βασικα πανω στην Python και εχω ενα απλο προγραμματακι οπου δινω εναν αριθμο απο το πληκτρολογιο. Οσο το Statement ειναι True loopαρει μεσα στον βρογχο και μου ζηταει να δινω αριθμους εμφανιζοντας αν ειναι μεγαλυτερος η μικροτερος απο αυτο που εχω δηλωσει στην αρχη του προγραμματος. Το statement τερματιζει οταν δωσω τον αριθμο που ψαχνουμε. Το προβλημα ειναι οτι μου γυρναει error αλλα δεν καταλαβαινω γιατι! Ο κωδικας μου ειναι αυτος
number = 23
statement = True
 
while statement:
	guess = int(input('Guess The Number: '))
 
	if guess == number:
		print ('You Found The Number!')
		statement = False
 
	elif guess < number:
		print ('It\'s Smaller')
 
	else:
		print ('It\'s Bigger')
 
else:
	print ('Bye!')

και παιρνω αυτο το error
File "while.py", line 5
    guess = int(input('Guess The Number: '))
    ^
IndentationError: unexpected indent

Που κανω λαθος? Ευχαριστω εκ των προτερων!

Κάνεις λάθος στα κενά. Έκανα copy-paste τον κώδικα που κοινοποίησες
σε ένα αρχείο στον υπολογιστή μου και τα κενά ήταν όπως νάνε. Αν και το
πρόγραμμα έτρεχε. Δεν ξέρω από τη εξαρτάτε αυτό, αλλά για κάποιον λόγο κάποιες
φορές γίνεται να έχεις περισσότερα από 4 κενά και να τρέχει.

Δεύτερον έξω από το while loop έχεις ένα else statement. To else μπαίνει μετά
από ένα if και όχι ένα while. Αλλά για κάποιον λόγο πάλι τρέχει το πρόγραμμα (Μυστήριο πραγματικά).

Ξανά φτιάξε το πρόγραμμα ξανά σε ΝΕΟ αρχείο και σβήσε το παλιό.
Κάθε φορά που βάζεις : (Άνω κάτω τελεία) εάν χρησιμοποιείς τον IDLE
της python δεν χρειάζεται να βάζεις τα κενά πατώντας 4 φορές το space,
απλώς πατάς το space enter για να αλλάξεις γραμμή και ο IDLE τα βάζει μόνο του.

Μην χρησιμοποιείς editors σαν το notepad++ γιατί θα έχεις μεγάλο πρόβλημα
με τα κενά στην python.
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Bozonio

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4363

  • Bozonio
  • Το Άβαταρ του/της Bozonio
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Με copy paste απο εδω επαιξε :) Μαλλον πρεπει να κοιταξω λιγο τις ρυθμισεις στο geany. Αλλαζω σειρα με enter και για να μπω ποιο μεσα παταω tab (που το παιρνει ως 4 spaces). Στο βιβλιο a_byte_of_Python (την Ελληνικη εκδοση) στην σελιδα 33 το παραδειγμα το εχει με else :unsure:
Αυτο διαβαζω σαν βιβλιο και ακολουθω τα παραδειγματα
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Bozonio.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4364

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Bozonio έγραψε:
Με copy paste απο εδω επαιξε :) Μαλλον πρεπει να κοιταξω λιγο τις ρυθμισεις στο geany. Αλλαζω σειρα με enter και για να μπω ποιο μεσα παταω tab (που το παιρνει ως 4 spaces). Στο βιβλιο a_byte_of_Python (την Ελληνικη εκδοση) στην σελιδα 33 το παραδειγμα το εχει με else :unsure:
Αυτο διαβαζω σαν βιβλιο και ακολουθω τα παραδειγματα

Δεν ξέρω γιατί το έχει το else, πάντως δεν χρειάζεται.
Επιπλέον σου προτείνω να χρησιμοποιείς τον IDLE της python,
η κάποιον άλλον που υποστηρίζει python.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4365

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
babaliaris1 έγραψε:
Δεύτερον έξω από το while loop έχεις ένα else statement. To else μπαίνει μετά
από ένα if και όχι ένα while. Αλλά για κάποιον λόγο πάλι τρέχει το πρόγραμμα (Μυστήριο πραγματικά).
Το else μπαίνει και μετά από for loops και μετά από while loops.
Διάβασε εδώ για το while και εδώ για το if.
Δεν είναι συνηθισμένο, αλλά υπάρχουν φορές που έχω χρειαστεί το for/else...
Φυσικά έτσι όπως είναι γραμμένο δεν καλείται ποτέ, ούτε σταματάει ποτέ το while, αλλά αυτό είναι άλλου είδους πρόβλημα...
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από embryo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4368

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Bozonio έγραψε:
Μαλλον πρεπει να κοιταξω λιγο τις ρυθμισεις στο geany. Αλλαζω σειρα με enter και για να μπω ποιο μεσα παταω tab (που το παιρνει ως 4 spaces

Το geany, το χρησιμοποιώ κι εγώ, μετά από enter σου δημιουργεί αυτόματα intend όταν έχεις ανοίξει while, for, foreach ή if-else.
Πατώντας εσύ παλι το tab σου δημιουργεί και δεύτερο intend, μάλλον γι' αυτό σου χτυπάει.
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Bozonio

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4369

  • Bozonio
  • Το Άβαταρ του/της Bozonio
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Αποστόλης έγραψε:
Bozonio έγραψε:
Μαλλον πρεπει να κοιταξω λιγο τις ρυθμισεις στο geany. Αλλαζω σειρα με enter και για να μπω ποιο μεσα παταω tab (που το παιρνει ως 4 spaces

Το geany, το χρησιμοποιώ κι εγώ, μετά από enter σου δημιουργεί αυτόματα intend όταν έχεις ανοίξει while, for, foreach ή if-else.
Πατώντας εσύ παλι το tab σου δημιουργεί και δεύτερο intend, μάλλον γι' αυτό σου χτυπάει.

Kατι μου λεει πως χρησιμοποιεις και Linuxακι :) Εγω ειμαι πιστος (μεχρι θανατου) στο FreeBSD :)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4372

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Ναι, linuxας :)
Πρώτα ξαδέρφια με το BSD ;)
Αλλά όλα καλά είναι. Αναλόγως τι θέλεις να κάνεις.
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Bozonio

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4373

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Χρόνια πολλά και Χριστός Ανέστη σε όλους
babaliaris1 έγραψε:

Μην χρησιμοποιείς editors σαν το notepad++ γιατί θα έχεις μεγάλο πρόβλημα
με τα κενά στην python.
Εγώ χρησιμοποιώ το notepad++ εδώ και 1 χρόνο που μαθαίνω python και δεν έχω πρόβλημα. Έχει μια ρύθμιση στην οποία σου επιτρέπει να ρυθμίζεις το tab να συμπεριφέρεται σαν ένας αριθμός space και κάνει επίσης αυτόματο indent.

Το προτέρημα που θεωρώ ότι έχει σε σχέση με τους IDE για κάποιον που μαθαίνει είναι ότι σου επιτρέπει να κάνεις focus στον κώδικα και δεν σε αποσπά με διάφορα παράθυρα και κουμπιά που μάλλον δεν χρειάζεσαι.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4374

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Χρόνια πολλά σε όλους, Χριστός Ανέστη.

+1 για το notepad++
Είναι από τους καλύτερους editors.
Και για αυτό που έγραψε ο Theo αλλά κυρίως γιατί σου παρέχει ένα σκασμό δυνατότητες χωρίς να σου γονατίζει το μηχάνημα.
Στο μόνο πράγμα που υστερεί είναι οτι δυσκολεύεται ή αδυνατεί να ανοίξει πραγματικά μεγάλα αρχεία.
Κάτι που ούτως ή άλλως λίγοι editors/IDE το καταφέρνουν, με πρώτο και καλύτερο τον Vim που δεν τον έχω δει να κωλώνει με κανενός είδους αρχείο και σε κανένα λειτουργικό.
Αν ήταν και ολοκληρωμένο IDE, ίσως να ήταν μακράν το καλύτερο.
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4375

  • Bozonio
  • Το Άβαταρ του/της Bozonio
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Tην βρηκαμε την ακρη με τον gedit (o default editor του gnome3). Eχει και support για Python :)
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Bozonio.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4377

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Δύο λόγια και από μένα.

Κατ αρχήν πιστεύω ότι έχεις εγκαταστήσει την τελευταία έκδοση 3.6 ή 3.5 και όχι κάτι παλιότερο.

Όπου κολλάς και πριν ξεκινήσεις να κάνειs google και να ρωτάς πήγαινε στην σελίδα της python www.python.org/ . Εκεί στο documentation έχει μεταξύ άλλων tutorial , Library Reference, Language Reference και howto.

To tutorial είναι μια περίληψη της γλώσσας με παραδείγματα.

Θα πρέπει να ξεκινήσεις να διαβάζεις το language reference.
Όταν θες να καταλάβεις κάτι σε βάθος, έχει κάποια στοιχεία που δεν τα έχει το tutorial και ότι και να σου πει κάποιος άλλος στην καλύτερη περίπτωση θα είναι αυτά που γράφει το language referεnce. πχ το for
docs.python.org/3/reference/compound_stm...ml#the-for-statement

Το library reference θα το επισκέπτεσαι αρκέτα συχνά, στην αρχή δες οποσδήποτε τα build in functions (Τι κάνει πχ η print τι κάνει η help) docs.python.org/3/library/functions.html
και σιγά σιγά τα άλλα όποτε τα χρειαστείς.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Bozonio

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4378

  • Bozonio
  • Το Άβαταρ του/της Bozonio
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 7
Χριστος Ανεστη σε ολους!

Εχω και την 2.7 και την 3.5 αλλα τα προγραμματα τα τρεχω με την 3.5. Ενα πραγμα που νιωθω πως λειπει αλλα οχι μονο απο την Python αλλα και γενικοτερα ειναι πως δεν υπαρχουν ασκησεις στα Ελληνικα για τον χρηστη. Ειναι πολυ λιγες και εκει που εχεις ενα προγραμμα να σου λεει κατι απλο ξαφνικα πανε σε πολυ δυσκολοτερα πραγματα.

Παραδειγμα. Κατεβασα τα exercises (τα 3 pdf που δινετε). Στο πρωτο pdf η ασκηση 1.2 ζηταει το μενου ενως εστιατοριου. Το εφτιαξα. To αμεσως επομενο περιμενα να ειναι ενα λιγο ποιο δυσκολο προβλημα. Και ξαφνικα ζηταει μαθηματικα που δεν ξερω. Δεν θυμαμαι (μην σας πω πως δεν εχω ιδεα) δευτεροβαθμια εξισωση και Διακρινουσες. Ουτε να την λυνω στο χαρτι δεν γνωριζω. Ποσο περισσοτερο να την κανω προγραμμα! Το αμεσως επομενο ειναι παλι μαθηματικα. Γενικα τα ποιο πολλα ειναι υλοποιησεις μαθηματικων και το γεγονος οτι δεν ξερω μαθηματικα σιγουρα δεν βοηθαει αλλα δεν ξερω τι να κανω σε αυτη την περιπτωση. To προβλημα δεν ειναι η Python. Το ιδιο ειχα και οταν προσπαθησα να μαθω C. Και εκει μετα απο καποια φαση αρχιζαν τα μαθηματικα. Σε συνδυασμο με την C που ειναι και δυσκολη γλωσσα, εχανε η μανα το παιδι!

Ενα ωραιο site με ασκησεις (αν και Αγγλικο) ειναι αυτο που εχει απλες σχετικα ασκησουλες, χωρις ιδιαιτερες γνωσεις μαθηματικων https://www.programiz.com/python-programming/examples. (Εχω φτασει μεχρι το προγραμμα που μου ζηταει να βρω τον μεγαλυτερο αριθμο). Το κακο ειναι πως δυσκολευομαι να βρω τετοιες ασκησεις και ιδιαιτερα στα Ελληνικα :(

Παρουσιαζω και το προγραμμα του εστιατοριου. Σιγουρα δεν ειναι κατι σημαντικο αλλα για τα δικα μου δεδομενα ειναι μεγαλο προγραμμα και νιωθω πολυ χαρουμενος που τα καταφερα :)
print ('1. Kolokythakia giaxni - 2 euro')
print ('2. Patates sta karvouna - 2 euro')
print ('3. Kotopoulo gemisto - 4 euro')
print ('4. Saligaria - 5 euro\n')
 
statement = True
 
while statement:
	def choises():
		Kolokythakia = 2
		Patates = 2
		Kotopoulo = 3
		Saligaria = 4
 
	def price():
		Kolokythakia = 3
		Patates = 2
		Kotopoulo = 4
		Saligaria = 5
 
	choises = int(input('Ti tha thelate? '))
	price = int(input('Posa euro diathetete? '))
 
	if choises == 1:
		if price >= 2:
			print ('Epilejate Kolokythakia giaxni. Kalh sas orejh!\n')
			statement = False
 
		else:
			print ('Dystyxws to piato pou epilejate kostizei perissotera lefta!\n')
 
	elif choises == 2:
		if price >= 2:
			print ('Epilejate Patates sta karvouna. Kalh sas orejh!\n')
			statement = False
 
		else:
			print ('Dystyxws to piato pou epilejate kostizei perissotera lefta!\n')
 
	elif choises == 3:
		if price >= 4:
			print ('Epilejate  Kotopoulo gemisto. Kalh sas orejh!\n')
			statement = False
 
		else:
			print ('Dystyxws to piato pou epilejate kostizei perissotera lefta!\n')
 
	elif choises == 4:
		if price >= 5:
			print ('Epilejate  Saligaria. Kalh sas orejh!\n')
			statement = False
 
		else:
			print ('Dystyxws to piato pou epilejate kostizei perissotera lefta!\n')
 
	else:
		print ('Sygnwmh. Epiplejte anamesa stis epiloges twn piatwn 1-4\n')
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Bozonio.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

H while δεν μου κανει το χατιρι 7 Χρόνια 7 Μήνες πριν #4379

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Κατ αρχήν θα είναι καλό να έχεις κάποιες γνώσεις μαθηματκών όπως και αγγλικών. Το επίπεδο του λυκείου στα μαθηματικά που έχει λίγο από όλα νομίζω είναι εντάξει. Το επίπεδο των αγγλικών επίσης πρέπει να είναι καλό γιατί όπως είπες στα ελληνικά οι πηγές είναι λίγες.

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

Π.χ για την δευτεροβάθμια εξίσωση με λίγο ψάξιμο εύκολα βρίσκεις ότι λύνεται ως εξής
www.calcfun.com/calc-35-epilysi-exisosis...-deyterovathmia.html
αυτό ακριβώς θα γράψεις και στο πρόγραμμα σου.
Το πως θα το γράψεις σωστά είναι δική σου ευθύνη.

Στο πρόβλημα με το εστιατόριο έχουν μπεί δυο συναρτήσεις μέσα που είναι λάθος
τα δύο def πρέπει να σβηστούνε
Τελευταία διόρθωση: 7 Χρόνια 7 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.683 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου