Jump to content
Nokioteca Forum

Concatenare Stringhe E Interi


Guest
 Share

Recommended Posts

ciao a tutti.. vorrei usare questa discussione per chiarimenti sul python visto che sto provando a fare qualcosa....

import appuifw
n = 10
appuifw.note("ciao" + 10,"info")

perchè non mi lascia concatenare una stringa con un'intero?

poi vorrei sapere come associare un'evento in base al softkey premuto ad esempio ok o cancel.

grazie!

Modificato da Guest
Niente titoli generici!
Link to comment
Condividi su altri siti

Premetto che non conosco python, ma sei certo che unicode(10) restituisca la stringa unicode "10"?

Perche' temo che restituisca un singolo carattere corrispondente al carattere 10 dell'unicode.

ho provato con unicode(n) e restituisce il valore di n, quindi è ok!:)

EDIT: scusa per il titolo!

Modificato da Guest
Link to comment
Condividi su altri siti

allora:

n = 10

unicode(n) restituisce 10 cioè il valore della variabile

unidcode("10") e unicode(10) restituiscono entrambi 10

quindi unicode("10") ed unicode(10) restituiscono entrambi il valore intero 10?

Attendiamo conferme, ma ne dubito fortemente.

Modificato da Il.Socio
Link to comment
Condividi su altri siti

Il metodo più pulito è:

u"Risultato: %i"%numero_intero

In questo modo puoi fare anche varie formattazioni (vedi doc python)

sostituisce %i col numero giusto? però mi sembra poco leggibile come soluzione.

quindi unicode("10") ed unicode(10) restituiscono entrambi il valore intero 10?

Attendiamo conferme, ma ne dubito fortemente.

non è una cosa che mi sono inventato io eh....

provato sull'emulatore del terminare dell'sdk per 3rd..al momento non ho un telefono per provarlo!

immaginein.png

in effetti avrebbe più senso se con 22 restituisse il carattere col corrispondente a 22.....

Modificato da Guest
Link to comment
Condividi su altri siti

python non mi piace... :)

Hahaha beh infatti ste cagate io le eviterei(to) SEMPRE. E' certo in questo modo facile se non banale ma proprio per la sua banalità non è detto che sempre sia la via migliore...Di certo è una delle possibilità e in certi casi è utile!

La concatenazione con i percentuali è usata anche in C++ ed è, non di meno, più veloce del +! E' anche molto leggibile a mio parere...

ps: dgiac...occhio al primo valore non unicode ;)

Se fai un miscuglio appena avrai a che fare con caratteri utf8..beh meglio evitare!

Ricordo che unicode è obbligatorio nel momento delle chiamate all'ui di sistema, e a molto altro ovviamente.

Link to comment
Condividi su altri siti

quindi unicode("10") ed unicode(10) restituiscono entrambi il valore intero 10?

Attendiamo conferme, ma ne dubito fortemente.

Non restituisce un intero ma una stringa di tipo unicode.

Python essendo un linguaggio di alto livello ci viene in aiuto eseguendo automaticamente delle conversioni

che altri linguaggi non tollerano.

Queste facilitazioni a volte generano confusione.....

print u"0 " + unicode(22)

Prende il valore numerico 22 lo trasforma in stringa unicode e lo concatena a u"0 "

Notare quanto si arrangia Python!

se uniamo una stringa "UgaUga" ad un unicode unicode(22) esegue la conversione automaticamente del tutto in unicode.

type("UgaUga")

>>><type 'str'>

Qui ci dice che è una stringa ascii

type(unicode(22))

>>><type 'unicode'>

Qui ci dice che è una stringa di unicode

type("UgaUga"+unicode(22))

>>><type 'unicode'>

Qui si è arrangiato a trasformare la parte stringa in unicode prima di unirla

print "UgaUga"+unicode(22+1)

>>> UgaUga23

esegue la somma tra i due numeri poi li trasforma in stringa unicode e li concatena a "UgaUga" avendo trasformato anchessa in unicode.

Benvenuti nel castello fatato di Python ricco di facilitazioni e trabochetti.(Attenti alle botole e vari fantasmini.....)

Che cè Voi Fà...

Link to comment
Condividi su altri siti

Mi chiedo... e se volessi avere una stringa unicode composta dal solo carattere 0032? (cioe' una stringa formata da uno spazio)

a=u' '

a contiene il carattere unicode 0032

e=unicode(' ')

e contiene il carattere unicode 0032

type(a)

>>><type 'unicode'>

type(e)

>>><type 'unicode'>

len(a)

>>>1

Comunque esiste un modulo di funzioni tutto dedcato alla gestione più complessa dell'unicode.

E si chiama: codecs

Link to comment
Condividi su altri siti

eheh... non e' proprio quello che volevo intendere :D

Credo basti questo altro esempio per spiegarmi meglio...

Se ti dicessi il solo carattere 0008 (cioe' il backspace) come si fa?

EDIT:

Ho trovato che puo' essere rappresentato cosi': u"\u0008"

Ma piu' che altro, me lo chiedevo perche' pensavo a come si sarebbe dovuta utilizzare la funzione unicode() in questo caso...

siccome la funzione trasforma l'intero passato come parametro nella corrispettiva stringa, non credo che si possa utilizzare in questo caso.

O magari cosi', passando la stringa pero': unicode("\u0008") :mumble:

Modificato da Il.Socio
Link to comment
Condividi su altri siti

eheh... non e' proprio quello che volevo intendere :D

Credo basti questo altro esempio per spiegarmi meglio...

Se ti dicessi il solo carattere 0008 (cioe' il backspace) come si fa?

EDIT:

Ho trovato che puo' essere rappresentato cosi': u"\u0008"

Buona la prima!....u"\u0008"

Python mantiene la capacità di interpretare le stringhe racchiuse tra doppi apici "\nciupa ciupa\t"

Diciamo che accettando queste stranezze si riesce a scrivere un programma in poche righe.

Ponendo l'attenzione sulla logica di ciò che si vuol fare.

Modificato da lento
Link to comment
Condividi su altri siti

Buona la prima!....u"\u0008"

Python mantiene la capacità di interpretare le stringhe racchiuse tra doppi apici "\nciupa ciupa\t"

Diciamo che accettando queste stranezze si riesce a scrivere un programma in poche righe.

Ponendo l'attenzione sulla logica di ciò che si vuol fare.

:P

dal python 25 c'è anche unichr(u"a") che ritorna il numero di carattere...

chr() per l'ascii

"\x20" ->byte singolo

"\u2393" -> multiplo unicode

e poi se si vuole c'è struct che permette di creare strutture di byte

Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy