Topic: Suggerimenti esercizio  (Letto 342 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline caronte

  • python erectus
  • ***
  • Post: 240
  • Punti reputazione: 0
    • Mostra profilo
Re:Suggerimenti esercizio
« Risposta #15 il: Ottobre 15, 2020, 23:01 »
siete dei cattivelli, siete...

aaaa   :D  si ma Glen e' stato molto piu cattivo di me   :devil:

Offline GlennHK

  • python sapiens sapiens
  • ******
  • Post: 1.658
  • Punti reputazione: 1
    • Mostra profilo
    • La Tana di GlennHK
Re:Suggerimenti esercizio
« Risposta #16 il: Ottobre 16, 2020, 01:59 »
siete dei cattivelli, siete...

comunque... glenn, ma tu usi ancora python 2?


nah, non ho riportato l'import da functools

Offline GlennHK

  • python sapiens sapiens
  • ******
  • Post: 1.658
  • Punti reputazione: 1
    • Mostra profilo
    • La Tana di GlennHK
Re:Suggerimenti esercizio
« Risposta #17 il: Ottobre 16, 2020, 02:08 »
Rilancio  :devil:


f = lambda s: "".join(map(lambda t: t[0]+t[1], zip(s[::2].lower(),list(s[1::2].upper())+[""])))

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 294
  • Punti reputazione: 0
    • Mostra profilo
Re:Suggerimenti esercizio
« Risposta #18 il: Ottobre 16, 2020, 11:40 »
Dopo tanto tempo, torno con un po' di codegolf  :devil:


my_func=lambda s:reduce(lambda q,c:(q[0]+(c.lower() if q[1] else c.upper()),not q[1]),list(s),("",True))[0]


Ah! Si chiama "Codegolf"? ... veramente interessante
questo su ho faticato un po' per capirlo e l'accorgimento "+['']" dell'ultimo non mi era mai venuto in mente
... ovviamente, mi astengo dal "tentar buca", compreso l'esempio di @caronte è codice border-line per me :)

Offline caronte

  • python erectus
  • ***
  • Post: 240
  • Punti reputazione: 0
    • Mostra profilo
Re:Suggerimenti esercizio
« Risposta #19 il: Ottobre 16, 2020, 23:42 »
rivedo...(purtroppo...)  :D :D :D


s = 'megliochevadoadormire'
''.join(c if i % 2 != 0  else chr(ord(c) - 32) for i, c in enumerate((map(lambda d: list(d).pop(0), s.lower()))))


« Ultima modifica: Ottobre 17, 2020, 00:51 da caronte »

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.112
  • Punti reputazione: 9
    • Mostra profilo
Re:Suggerimenti esercizio
« Risposta #20 il: Ottobre 19, 2020, 16:37 »
nah, non ho riportato l'import da functools
Ah, ok... ma questo rovina lo one-liner... Ma non c'è niente da fare, hanno tolto tutto il divertimento da Python 3  :D

rivedo...(purtroppo...)  :D :D :D

s = 'megliochevadoadormire'
''.join(c if i % 2 != 0  else chr(ord(c) - 32) for i, c in enumerate((map(lambda d: list(d).pop(0), s.lower()))))


Vero, ma allora basta
''.join(c.lower() if i%2!=0 else c.upper() for i, c in enumerate(s))

che a questo punto non è più offuscato per nulla... a dimostrazione del fatto che 1) il problema è troppo semplice, 2) Python è troppo espressivo.

Offline caronte

  • python erectus
  • ***
  • Post: 240
  • Punti reputazione: 0
    • Mostra profilo
Re:Suggerimenti esercizio
« Risposta #21 il: Ottobre 19, 2020, 20:19 »
 :D :D
ebbe e' chiaro...quella riga e' dichiaratamente inefficiente e piena di "fronzoli" , stavo per eliminare pure lower, ma mi sono fermato  :D :D :D