Python
Moderatore: Staff
Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
bertolottipf
- Linux 0.x

- Messaggi: 86
- Iscritto il: mar 29 mar 2005, 0:00
- Località: prov. Torino
- Contatta:
Python
Ho da un po' inizato a dedicarmi a python con l'intento di creare qualche bel programma.
Dato che vidi, se ricordo bene, sotto Debian un programma, probabilmente fatto in C, che dato il numero in cifre lo restituiva in lettere, ho deciso di provare a farne uno simile in python. Voi come l'avreste fatto.
A dirla tutta, lo scopo finale dell'appendimento di Python è quello di creare un programma (Encyusic, così l'ho chiamato) che gestisca un DB semplicistico in MySQL, diviso in due tabelle. Mi sto dedicando alla tabella 'testcanzone' che è così divisa:
id
titolo
cantante
testo_orig
testo_trad
suppongo non sia il caso che io scriva tutte le specifiche.
Il problema nell'inserimento si presenta al 'testo_orig' in quanto non ho il diritto di fare ritorno a capo.
Come risolvereste tale problema?
Dato che vidi, se ricordo bene, sotto Debian un programma, probabilmente fatto in C, che dato il numero in cifre lo restituiva in lettere, ho deciso di provare a farne uno simile in python. Voi come l'avreste fatto.
A dirla tutta, lo scopo finale dell'appendimento di Python è quello di creare un programma (Encyusic, così l'ho chiamato) che gestisca un DB semplicistico in MySQL, diviso in due tabelle. Mi sto dedicando alla tabella 'testcanzone' che è così divisa:
id
titolo
cantante
testo_orig
testo_trad
suppongo non sia il caso che io scriva tutte le specifiche.
Il problema nell'inserimento si presenta al 'testo_orig' in quanto non ho il diritto di fare ritorno a capo.
Come risolvereste tale problema?
- touchstyle
- Linux 4.x

- Messaggi: 1085
- Iscritto il: gio 13 mag 2004, 0:00
- Slackware: 12.1
- Kernel: 2.6.27
- Desktop: KDE
- Località: Portogruaro [VE]
- Contatta:
-
bertolottipf
- Linux 0.x

- Messaggi: 86
- Iscritto il: mar 29 mar 2005, 0:00
- Località: prov. Torino
- Contatta:
Uhm... Sì, già, forse... Ma mi par proprio di sì.
Il problema è che questo modo di crivere il programma, che vedi sotto, traduce già tutti i caratteri
per esempio, per scivere l'apice, scrivi ' e non \' come faresti. In questo modo non riesci a rimpiazzare il ritorno a capo no un carattere simile. :(
#! /usr/bin/env python
import os
#import shelve
import MySQLdb
x= 'n'
messaggio="* * * EncyMusic * * *"
spaz=" "
"""testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()"""
while x!= "u":
os.system('clear')
print messaggio
print " i: info"
print " t: tesi musicali"
print " e: enciclopedia musicale"
print " u: uscita"
print "+t: aggiunta al DB testi musicali"
print "-t: eliminazione dal DB testi musicali"
print "+e: aggiunta al DB enciclopedia musicale"
print "-e: eliminazione dal DB testi musicali"
x = raw_input(">")
if x in ("i", "I"):
os.system('clear')
print messaggio
print "VERSIONE: 0.0.1"
print "PRODUZIONE: Paolo Francesco Bertolotti"
print "EDITOR: Emacs/ Kwrite 4.4"
k = raw_input(">")
elif x in ("t", "T"):
os.system('clear')
print messaggio
print "s: stampa tutto il DB"
print "t: cerca per titolo"
print "c: cerca per cantante(/gruppo)"
print "g: cerca generale"
print "i: indice"
k = raw_input(">")
if k in ("s", "S"):
os.system('clear')
print messaggio
print "TUTTI I TESTI"
testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()
ctesti.execute("""SELECT titolo, cantante, testo_orig, testo_trad FROM testicanzone""")
rec = ctesti.fetchall()
for i in rec:
print 'Titolo: ' + i[0] + \
'\nCantante: ' + i[1] + \
'\nTesto originale: ' + i[2] + \
'\nTesto tradotto: ' + i[3] + \
'\n\n---\n\n'
dsf = raw_input(">")
elif k in ("t", "T"):
os.system('clear')
print messaggio
print "RICERCA PER TITOLO"
t = raw_input(">")
dsf = raw_input(">")
elif k in ("c", "C"):
os.system('clear')
print messaggio
print "RICERCA PER CANTANTE"
c = raw_input(">")
dsf = raw_input(">")
elif k in ("g", "G"):
os.system('clear')
print messaggio
print "RICERCA GENERALE"
g = raw_input(">")
dsf = raw_input(">")
elif k in ("i", "I"):
os.system('clear')
else:
os.system('clear')
elif x in ("e", "E"):
os.system('clear')
print messaggio
print "e"
k = raw_input(">")
elif x in ("+t", "+T"):
os.system('clear')
print messaggio
print"Che canzone vuoi aggiungere?"
tit = raw_input("Titolo? ")
cant = raw_input("Cantante? ")
test_o = raw_input("Testo originale? ")
test_t = raw_input("Testo tradotto? ")
testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()
ctesti.execute('INSERT INTO testicanzone (titolo, cantante, testo_orig, testo_trad) VALUES(%s, %s, %s, %s)', (tit, cant, test_o, test_t))
dsf = raw_input(">")
elif x in ("-t", "-T"):
os.system('clear')
print messaggio
print "Che canzone vuoi eliminare? "
tit=raw_input("Titolo? ")
cant=raw_input("Cantante? ")
testo=raw_input("Testo? ")
dsf = raw_input(">")
elif x in ("+e", "+E"):
os.system('clear')
print messaggio
elif x in ("-e", "-E"):
os.system('clear')
print messaggio
else:
os.system('clear')
os.system('clear')
print "Grazie per aver provato il mio programma"
Ritorno a capo o non ritorno a capo! Questo è il problema!!!
CIAO!
Il problema è che questo modo di crivere il programma, che vedi sotto, traduce già tutti i caratteri
per esempio, per scivere l'apice, scrivi ' e non \' come faresti. In questo modo non riesci a rimpiazzare il ritorno a capo no un carattere simile. :(
#! /usr/bin/env python
import os
#import shelve
import MySQLdb
x= 'n'
messaggio="* * * EncyMusic * * *"
spaz=" "
"""testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()"""
while x!= "u":
os.system('clear')
print messaggio
print " i: info"
print " t: tesi musicali"
print " e: enciclopedia musicale"
print " u: uscita"
print "+t: aggiunta al DB testi musicali"
print "-t: eliminazione dal DB testi musicali"
print "+e: aggiunta al DB enciclopedia musicale"
print "-e: eliminazione dal DB testi musicali"
x = raw_input(">")
if x in ("i", "I"):
os.system('clear')
print messaggio
print "VERSIONE: 0.0.1"
print "PRODUZIONE: Paolo Francesco Bertolotti"
print "EDITOR: Emacs/ Kwrite 4.4"
k = raw_input(">")
elif x in ("t", "T"):
os.system('clear')
print messaggio
print "s: stampa tutto il DB"
print "t: cerca per titolo"
print "c: cerca per cantante(/gruppo)"
print "g: cerca generale"
print "i: indice"
k = raw_input(">")
if k in ("s", "S"):
os.system('clear')
print messaggio
print "TUTTI I TESTI"
testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()
ctesti.execute("""SELECT titolo, cantante, testo_orig, testo_trad FROM testicanzone""")
rec = ctesti.fetchall()
for i in rec:
print 'Titolo: ' + i[0] + \
'\nCantante: ' + i[1] + \
'\nTesto originale: ' + i[2] + \
'\nTesto tradotto: ' + i[3] + \
'\n\n---\n\n'
dsf = raw_input(">")
elif k in ("t", "T"):
os.system('clear')
print messaggio
print "RICERCA PER TITOLO"
t = raw_input(">")
dsf = raw_input(">")
elif k in ("c", "C"):
os.system('clear')
print messaggio
print "RICERCA PER CANTANTE"
c = raw_input(">")
dsf = raw_input(">")
elif k in ("g", "G"):
os.system('clear')
print messaggio
print "RICERCA GENERALE"
g = raw_input(">")
dsf = raw_input(">")
elif k in ("i", "I"):
os.system('clear')
else:
os.system('clear')
elif x in ("e", "E"):
os.system('clear')
print messaggio
print "e"
k = raw_input(">")
elif x in ("+t", "+T"):
os.system('clear')
print messaggio
print"Che canzone vuoi aggiungere?"
tit = raw_input("Titolo? ")
cant = raw_input("Cantante? ")
test_o = raw_input("Testo originale? ")
test_t = raw_input("Testo tradotto? ")
testi = MySQLdb.connect(user="root", passwd="Piolino80", db="encymusic")
ctesti = testi.cursor()
ctesti.execute('INSERT INTO testicanzone (titolo, cantante, testo_orig, testo_trad) VALUES(%s, %s, %s, %s)', (tit, cant, test_o, test_t))
dsf = raw_input(">")
elif x in ("-t", "-T"):
os.system('clear')
print messaggio
print "Che canzone vuoi eliminare? "
tit=raw_input("Titolo? ")
cant=raw_input("Cantante? ")
testo=raw_input("Testo? ")
dsf = raw_input(">")
elif x in ("+e", "+E"):
os.system('clear')
print messaggio
elif x in ("-e", "-E"):
os.system('clear')
print messaggio
else:
os.system('clear')
os.system('clear')
print "Grazie per aver provato il mio programma"
Ritorno a capo o non ritorno a capo! Questo è il problema!!!
CIAO!
- touchstyle
- Linux 4.x

- Messaggi: 1085
- Iscritto il: gio 13 mag 2004, 0:00
- Slackware: 12.1
- Kernel: 2.6.27
- Desktop: KDE
- Località: Portogruaro [VE]
- Contatta:
Usando php, per convertire gli accapo di un testo proveniente da un DB MySql, utilizzo la funzione nl2br(),che converte gli a capo \n in <br/>.
In Mysqli gli a capo sono proprio i caratteri:, è questo lo standard dei sistemi *nix, mentre in Windows dovrebbe essere .
Spero di esserti stato utile.
Ciao,
Touch.
In Mysqli gli a capo sono proprio i caratteri:
Codice: Seleziona tutto
\nCodice: Seleziona tutto
\r\nSpero di esserti stato utile.
Ciao,
Touch.
- touchstyle
- Linux 4.x

- Messaggi: 1085
- Iscritto il: gio 13 mag 2004, 0:00
- Slackware: 12.1
- Kernel: 2.6.27
- Desktop: KDE
- Località: Portogruaro [VE]
- Contatta:
Dimenticavo due cose:
-1) Posta il tuo problema anche su http://www.nogood.it/prog/, è un forum di programmatori, gente in gamba (amici di Slacky
).
-2) Sto leggendo "Pensare da informatico", un ottimo manuale su Python e programmazione in generale, lo puoi trovare qui : http://web.econ.unito.it/terna/infsimec ... nk_ita.pdf ma anche da altre parti...
Ciao,
Touch.
-1) Posta il tuo problema anche su http://www.nogood.it/prog/, è un forum di programmatori, gente in gamba (amici di Slacky
-2) Sto leggendo "Pensare da informatico", un ottimo manuale su Python e programmazione in generale, lo puoi trovare qui : http://web.econ.unito.it/terna/infsimec ... nk_ita.pdf ma anche da altre parti...
Ciao,
Touch.