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

ΘΕΜΑ: Ελληνικά με τόνο σε σκριπτάκι

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2987

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
Θέλω να γράψω ένα σκριπτάκι που να μετρά τις συλλαβές μιας πρότασης. Έβαλα τα φωνήεντα σε λίστες για να μπορώ να δουλεύω:

fonien = ['α','ε','η','ι','ο','υ','ω']
2fonien = ['αι', 'ει', 'οι', 'υι', 'αυ', 'ευ', 'άι', 'άη', 'όι', 'όη', 'ια', 'ιο']
3fonien = ['οιο', 'ειο', 'υος', 'ιου']

2fonien = ['αι', 'ει', 'οι', 'υι', 'αυ', 'ευ', 'άι', 'άη', 'όι', 'όη', 'ια', 'ιο']
_______________________________^
SyntaxError: invalid syntax


Μου κολλάει στους τόνους. Πως μπορώ να το διορθώσω; Επίσης, έχουμε τίποτα αντίστοιχο στο regex για Ελληνικά; Ή μήπως ξέρει κανείς αν υπάρχει έτοιμο εργαλείο;

Χρησιμοποιώ Anaconda SciPy 2.7 /Spyder IDE. Μπορώ να αλλάξω το IDE αλλά όχι το Python distribution.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2988

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Κατ' αρχάς πως και σου επιτρέπει το 2fonien όνομα για variable?
Κανονικά απαγορεύεται στην Python να αρχίζει variable με νούμερο.
Σε εμένα βγάζει λάθος.
Μήπως αυτό είναι το λάθος και όχι ο τόνος?

Στην Python 3 δεν υπάρχει πρόβλημα με τα ελληνικά (με τόννους ή χωρίς)
Στην Python 2.7 μπορείς να βάλεις "from __future__ import unicode_literals" και να είσαι ΟΚ επίσης (πρέπει να εγκαταστήσεις το Future library).

Δυστυχώς "Python 2.7 (or 3) does not support Unicode properties" άρα το regExp "\p{Greek}" ή το "\p{L}" σου είναι άχρηστα ...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": filippos

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2989

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
Δίκιο έχεις. Δοκίμασα να τα ονομάσω fonien2/3 και όταν έκανα print:
print 'fonien', fonien
print 'fonien2',fonien2
print 'fonien3', fonien3

μου έβγαλε
fonien ['\xce\xb1', '\xce\xb5', '\xce\xb7', '\xce\xb9', '\xce\xbf', '\xcf\x85', '\xcf\x89']
fonien2 ['\xce\xb1\xce\xb9', '\xce\xb5\xce\xb9', '\xce\xbf\xce\xb9', '\xcf\x85\xce\xb9', '\xce\xb1\xcf\x85', '\xce\xb5\xcf\x85', '\xce\xac\xce\xb9', '\xce\xac\xce\xb7', '\xcf\x8c\xce\xb9', '\xcf\x8c\xce\xb7', '\xce\xb9\xce\xb1', '\xce\xb9\xce\xbf']
fonien3 ['\xce\xbf\xce\xb9\xce\xbf', '\xce\xb5\xce\xb9\xce\xbf', '\xcf\x85\xce\xbf\xcf\x82', '\xce\xb9\xce\xbf\xcf\x85']

Θέλω όμως να βλέπω τι γίνεται, για να την παλαίψω με το debug. Οπόταν δοκίμαστα τα unicode_literals και μου έβγαλε
fonien [u'\u03b1', u'\u03b5', u'\u03b7', u'\u03b9', u'\u03bf', u'\u03c5', u'\u03c9']
fonien2 [u'\u03b1\u03b9', u'\u03b5\u03b9', u'\u03bf\u03b9', u'\u03c5\u03b9', u'\u03b1\u03c5', u'\u03b5\u03c5', u'\u03ac\u03b9', u'\u03ac\u03b7', u'\u03cc\u03b9', u'\u03cc\u03b7', u'\u03b9\u03b1', u'\u03b9\u03bf']
fonien3 [u'\u03bf\u03b9\u03bf', u'\u03b5\u03b9\u03bf', u'\u03c5\u03bf\u03c2', u'\u03b9\u03bf\u03c5']

Δοκίμασα να αλλάξω γραμματοσειρά στο Spyder, αλλά ούτε η Courier New που ξέρω ότι έχει ελληνικά δούλεψε. Δοκίμασα και στο IDLE IDE αλλά δεν δούλεψε ούτε εκεί. Καμιά ιδέα;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2990

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

Ρίξε μια ματιά στο unicode how to της τεκμηρίωσης.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2991

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
Το διάβασα αλλά δεν κατάλαβα. Το πρόβλημα δηλαδή είναι ότι η python2.7 δεν έχει γλύφους για >127μπιτους χαρακτήρες;

Δεν μπορώ να χρησιμοποιήσω Python3, το δήλωσα και στο ΟΡ.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2992

  • embryo
  • Το Άβαταρ του/της embryo
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 92
  • Ληφθείσες Ευχαριστίες 31
Το πρόβλημα σου είναι ότι η εκτύπωση της λίστας σού δείχνει (πολύ σωστά) ότι περιέχει unicode bytes που αντιστοιχούν στους χαρακτήρες σου.

Αν κάνεις ένα for loop για να τυπώσεις τα στοιχεία της λίστας, πχ
for i in fonien:
    print i
τότε θα δεις τους χαρακτήρες κανονικά.

Εννοείται ότι έχεις και το
from __future__ import unicode_literals

UPDATE: Ξέχασα να σου πω ότι αν θες να στα τυπώνει σε μία σειρά, πρέπει να κάνεις το print στο for loop έτσι:
for i in fonien:
    print i,
Τελευταία διόρθωση: 9 Χρόνια 5 Μήνες πριν από embryo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": filippos

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 5 Μήνες πριν #2993

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
A ok. Tα strings τυπώνονται ενώ οι λίστες απλά εμφανίζονται με την εσωτερική κωδικοποίηση, ευχαριστώ embryo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 4 Μήνες πριν #3080

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
Έλεγα να το κάνω από καιρό, αλλά ξεχάστηκα. Έχω ανεβάσει τη δουλειά που έκανα στο Github για όποιο τη θέλει. (Άδεια: Άμα βγάλεις λεφτά από αυτό, θέλω μπύρες. Αλλιώς, να τις πιεις στην υγειά μου)

Ευχαριστώ πολύ ρε Embryo. Άμα μου στείλει κανένας μπύρες θα στείλω και κοντά σου :laugh: B)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 4 Μήνες πριν #3081

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
όπα! το βρήκα το σφαλματάκι :P
phrase to syllabize:με λένε καραγκιόζη
με λέ-νε κα-ρα-γκιό-ζη
με 
λέ-νε 
κα-ρα-γκιό-ζη
7 syllabes
3 words
1 sentences
more? type y or n and press enter:υ
 
Warning (from warnings module):
  File "C:\Documents and Settings\nbampaliaris\Desktop\test.py", line 245
    if a == 'y':
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

Αυτό μου το πέταξε η python 2.7 γιατί έδωσα ελληνικό χαρακτήρα και προσπάθησε να το
εξετάσει με έναν λατινικό. Βάλε ένα try-except block για να πιάσεις το unicode exception
που με πέταξε.

Ωραίο το προγραμματάκι σου πάντως ;)
Τελευταία διόρθωση: 9 Χρόνια 4 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ελληνικά με τόνο σε σκριπτάκι 9 Χρόνια 4 Μήνες πριν #3099

  • filippos
  • Το Άβαταρ του/της filippos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 6
Μπα δε βαριέ :P Δεν θα το βγάλουμε στον κόσμο, για μας είναι.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.356 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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