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

ΘΕΜΑ: Python32 Bug!!!

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2976

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Δείτε αυτόν τον κώδικα.
a = input("give: ")
 
if a == "petros":
    print ("true")
 
else:
    print("false")
 
print(a)
input()

Όταν το τρέχω με το f5 από το IDLE της python μου δίνει έξοδο:
true
petros

Όταν το τρέχω από την κονσόλα :
false
petros

Πως γίνεται αυτό;;;

Δείτε και εικόνες:





Είναι όντως bug η κάτι φταίει;;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2978

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Το πρόβλημα είναι καθαρά θέμα λειτουργικού συστήματος.

Το IDLE χειρίζεται τους χαρακτήρες ως UTF-8 και τους αποθηκεύει με την ίδια κωδικοποίηση, ενώ η κονσόλα ως cp-1253 ή κάτι τέτοιο. Οπότε το petros στο σκριπτ σου είναι utf-8, ενώ αυτό που εισάγεις από την κονσόλα είναι cp-1253.

Δεν το δοκίμασα σε windows· όμως σε Ubuntu, τρέχει μια χαρά.


EDIT
Όταν το δοκιμάσω θα σου γράψω τις παρατηρήσεις μου και ίσως τη λύση (αν δεν με προλάβει άλλος).
Γράφω σε Python 3
Τελευταία διόρθωση: 8 Χρόνια 11 Μήνες πριν από kamar. Αιτία: Προσθήκη κειμένου
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2979

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
kamar έγραψε:
Το πρόβλημα είναι καθαρά θέμα λειτουργικού συστήματος.

Το IDLE χειρίζεται τους χαρακτήρες ως UTF-8 και τους αποθηκεύει με την ίδια κωδικοποίηση, ενώ η κονσόλα ως cp-1253 ή κάτι τέτοιο. Οπότε το petros στο σκριπτ σου είναι utf-8, ενώ αυτό που εισάγεις από την κονσόλα είναι cp-1253.

Δεν το δοκίμασα σε windows· όμως σε Ubuntu, τρέχει μια χαρά.


EDIT
Όταν το δοκιμάσω θα σου γράψω τις παρατηρήσεις μου και ίσως τη λύση (αν δεν με προλάβει άλλος).

Α μήπως χρειάζεται να βάλω κανένα κλειδί στο register των windows για να χειρίζεται η κονσόλα τους χαρακτήρες ως utf-8?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2980

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Έψαξα αλλά δεν μπορώ να βρω καμιά λύση :(

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

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2981

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Για την κονσόλα των windows και τα encodings έχει απαντήσει παλαιότερα ο migf1 σε διάφορα forum/θέματα. Κάνε μια αναζήτηση πχ σε insomnia/adslgr
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2982

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Και σε win7 τρέχει μια χαρά και από κονσόλα. Μήπως, προσθέτεις κάποιο κενό;

Τι έκδοση windows τρέχεις;
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 11 Μήνες πριν #2983

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
kamar έγραψε:
Και σε win7 τρέχει μια χαρά και από κονσόλα. Μήπως, προσθέτεις κάποιο κενό;

Τι έκδοση windows τρέχεις;

Windows 7 Professional N 64-bit. Δεν έχω αγοράσει windows αλλά η microsoft δίνει στην σχολή μας
τζάμπα αυτά τα windows και επομένως έχω βάλει αυτά στον υπολογιστή μου.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 10 Μήνες πριν #2984

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Επίσης τα προγράμματα που κάνω στην C τρέχουν μια χαρά, δεν εμφανίζεται αυτό το πρόβλημα.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 10 Μήνες πριν #2985

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
babaliaris1 έγραψε:
kamar έγραψε:
Και σε win7 τρέχει μια χαρά και από κονσόλα. Μήπως, προσθέτεις κάποιο κενό;

Τι έκδοση windows τρέχεις;

Windows 7 Professional N 64-bit. Δεν έχω αγοράσει windows αλλά η microsoft δίνει στην σχολή μας
τζάμπα αυτά τα windows και επομένως έχω βάλει αυτά στον υπολογιστή μου.

Τον κώδικά σου, τον έτρεξα σε windows 7 64bit Home Premium. Οι εκδόσεις python: 3.2, 3.3, 3.4.
Τελικά διαπίστωσα ότι, τα αλφαριθμητικά είναι με λατινικούς χαρακτήρες, οπότε η κωδικοποίηση δεν είναι το πρόβλημα.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 9 Μήνες πριν #3000

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Τον κώδικα τον έτρεχα σε python 3.2 τώρα που το είδα. Κατέβασα python 3.4 και δεν υπάρχει πρόβλημα πλέον. Στην 3.2 σου έτρεξε κανονικά;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 9 Μήνες πριν #3001

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
babaliaris1 έγραψε:
Τον κώδικα τον έτρεχα σε python 3.2 τώρα που το είδα. Κατέβασα python 3.4 και δεν υπάρχει πρόβλημα πλέον. Στην 3.2 σου έτρεξε κανονικά;

Αφού το γράφω, έτρεξε. (Πέρασε καιρός από τότε.)
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Python32 Bug!!! 8 Χρόνια 9 Μήνες πριν #3007

  • myle
  • Το Άβαταρ του/της myle
  • Αποσυνδεμένος
  • Admin
  • Δημοσιεύσεις: 467
  • Ληφθείσες Ευχαριστίες 15
Γενική συμβουλή:

Όταν τυπώνουμε ένα string, καλό είναι να το τυπώνουμε με αυτάκια γύρω γύρω ώστε να μπορούμε να "δούμε" λευκούς χαρακτήρες.

Στην προκειμένη, αυτό σημαίνει:
print("'", a, "'") αντί για print(a)
«Αν υποθέσουμε ότι αυτό είναι δυνατό, (να μεταδώσουμε τη σοφία παντού) τότε ειλικρινά ο τρόπος ζωής των θεών θα περάσει στους ανθρώπους. Τα πάντα θα είναι γεμάτα...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.440 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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