[Python] Interview per lavoro su python (e django)

Pietro Brunetti gunzapper a gmail.com
Gio 7 Set 2017 15:05:41 CEST


Molto spartano, ci sarà di meglio, ma penso sia abbastanza ideomatico:

"""
In [1]: initial_data = [(3,'alice'),(7,'bob'),(11,'charlie')]

In [2]: prime_by_name = {k:v for v, k in initial_data}

In [3]: prime_by_name
Out[3]: {'alice': 3, 'bob': 7, 'charlie': 11}

In [4]: for num in range(1, 100):  # si può fare la doppia list
comprehension
    ...:     out = [name for name, prime in prime_by_name.items()
    ...:            if not num % prime]
    ...:     if out:
    ...:         print(''.join(out))
    ...:     else:
    ...:         print(num)
    ...:
1
2
alice
4
5
alice
bob
8
alice
10
charlie
alice
13
bob
alice
16
17
alice
19
20
bobalice
charlie
23
alice
25
26
alice
bob
29
alice
31
32
alicecharlie
34
bob
alice
37
38
alice
40
41
bobalice
43
charlie
alice
46
47
alice
bob
50
alice
52
53
alice
charlie
bob
alice
58
59
alice
61
62
bobalice
64
65
alicecharlie
67
68
alice
bob
71
alice
73
74
alice
76
bobcharlie
alice
79
80
alice
82
83
bobalice
85
86
alice
charlie
89
alice
bob
92
alice
94
95
alice
97
bob
alicecharlie

""""


Il giorno 7 settembre 2017 13:48, Giovanni Porcari <
giovanni.porcari a softwell.it> ha scritto:

>
> > Il giorno 07 set 2017, alle ore 11:02, Carlo Miron <miron a python.it> ha
> scritto:
> >
> > 2017-09-07 0:58 GMT+02:00 Karim <lemieliste a gmail.com>:
> >
> >> 2017-09-06 8:25 GMT+10:00 Riccardo Magliocchetti
> >> <riccardo.magliocchetti a gmail.com>:
> >>>
> >>> Nel primo caso per profili junior anni fa chiedevo tra le altre queste
> >>> due:
> >>> - quale linguaggi conosci di più e quanto bene da 1 a 10
> >>> - fizzbuzz in che linguaggio preferisci
> >>
> >> Fantastico, non conoscevo fizzbuzz. Ho provato a farlo e ho salvato la
> >> faccia, allora ho proposto lo stesso esercizio sul gruppo facebook...
> >> diciamo che ha acceso gli animi :D
> >
> > E così parte il golfing sulla soluzione più breve. la mia è
> >
> >    ("Fizz"*(not x%3)+"Buzz"*(not x%5) or x for x in itertools.count(1))
>
>
>
> Elegante :)
>
> Ma ora il superfizzbuzz:
>
> data un array arbitrario di numeri primi associati ad altrettante parole,
> scrivere l'algoritmo che, nell'enumerazione sostituisca al numero primo e
> ai suoi multipli
> la parola assegnata e nel caso un numero sia multiplo di più numeri primi
> da sostituire,
> sostituisca con la concatenazione delle parole.
>
> il caso fizzbuzz è
>
> superfizzbuzz([(3,'fizz'),(5,'buzz')])
>
> testare ad esempio con :
>
> superfizzbuzz([(3,'alice'),(7,'bob'),(11,'charlie')])
>
>
> Parte la sfida ;)
>
>
> G
>
>
>
>
>
> >
> > :P
> >
> > ㎝
> >
> > --
> > |:**THE 🍺-WARE LICENSE** *(Revision ㊷)*:
> > | <miron@🐍.it> wrote this mail. As long as you retain this
> > | notice you can do whatever you want with this stuff.
> > | If we meet some day, and you think this stuff is worth it,
> > | you can buy me a 🍺 in return. —㎝
> > _______________________________________________
> > Python mailing list
> > Python a lists.python.it
> > https://lists.python.it/mailman/listinfo/python
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>



-- 
There is a crack, a crack in everything. That’s how the light gets in
L. Cohen
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20170907/4624a3de/attachment-0001.html>


Maggiori informazioni sulla lista Python