Media dei voti degli studenti di una classe

    n = int(input())
    student_marks = {}
    for _ in range(n):
        line = input().split()
        name, scores = line[0], line[1:]
        scores = map(float, scores)
        student_marks[name] = scores
    query_name = input()

    votes = student_marks[query_name]
    
    n=0.0
    for v in votes:
        n=n+v;
    
    n=n/len(votes)

    print("{:.2f}".format(n))

L’input è come segue :

3
andrea 27 21 30
marco 30 28 26
matteo  30 29 28
marco

La prima riga (3) è i numero di studenti;

segue una riga per ciascun studente contenente nome e lista dei voti;

infine il nome dello studente di cui si vuole conoscere la media dei voti.

Rete Neuronale

import numpy as np

class NeuralNetwork():
    
    def __init__(self):
        # seeding for random number generation
        np.random.seed(1)
        
        #converting weights to a 3 by 1 matrix with values from -1 to 1 and mean of 0
        self.synaptic_weights = 2 * np.random.random((3, 1)) - 1

    def sigmoid(self, x):
        #applying the sigmoid function
        return 1 / (1 + np.exp(-x))

    def sigmoid_derivative(self, x):
        #computing derivative to the Sigmoid function
        return x * (1 - x)

    def train(self, training_inputs, training_outputs, training_iterations):
        
        #training the model to make accurate predictions while adjusting weights continually
        for iteration in range(training_iterations):
            #siphon the training data via  the neuron
            output = self.think(training_inputs)

            #computing error rate for back-propagation
            error = training_outputs - output
            
            #performing weight adjustments
            adjustments = np.dot(training_inputs.T, error * self.sigmoid_derivative(output))

            self.synaptic_weights += adjustments

    def think(self, inputs):
        #passing the inputs via the neuron to get output   
        #converting values to floats
        
        inputs = inputs.astype(float)
        output = self.sigmoid(np.dot(inputs, self.synaptic_weights))
        return output


if __name__ == "__main__":

    #initializing the neuron class
    neural_network = NeuralNetwork()

    print("Beginning Randomly Generated Weights: ")
    print(neural_network.synaptic_weights)

    #training data consisting of 4 examples--3 input values and 1 output
    training_inputs = np.array([[0,0,1],
                                [1,1,1],
                                [1,0,1],
                                [0,1,1]])

    training_outputs = np.array([[0,1,1,0]]).T

    #training taking place
    neural_network.train(training_inputs, training_outputs, 15000)

    print("Ending Weights After Training: ")
    print(neural_network.synaptic_weights)

    user_input_one = str(input("User Input One: "))
    user_input_two = str(input("User Input Two: "))
    user_input_three = str(input("User Input Three: "))
    
    print("Considering New Situation: ", user_input_one, user_input_two, user_input_three)
    print("New Output data: ")
    print(neural_network.think(np.array([user_input_one, user_input_two, user_input_three])))
    print("Wow, we did it!")

by  Dr. Michael J. Garbade

https://www.kdnuggets.com/2018/10/simple-neural-network-python.html

Funzioni

def is_leap(year):
    leap = False
    
    if (year%4==0 and year%100!=0) or year%400==0:
        leap = True
  
    return leap

anno = 1964
anno = int(input("Scrivi un anno nel formato <aaaa> e premi invio"))
res = is_leap(anno)
if res:
    print("L'anno è bisestile")
else:
    print("L'anno non è bisestile")

Esempio di come scrivere una funzione (is_leap) in Python.

In questo caso la funzione calcola se l’anno passato come argomento sia bisestile o no.

Scrittura, brani o canzoni ?

Innanzi tutto, per parlare la stessa lingua, (scusate la pignoleria…), introduciamo una brevissima legenda:

scritto -> racconto,romanzo,poesia,saggio,tesi,testo di canzone. (cfr Autore)
brano -> esecuzione musicale priva di canto umano. (cfr compositore, esecutore)
canzone -> esecuzione musicale cantata da un uomo o una donna. (cfr cantautore/autrice)

Possiamo affermare senza ombra di dubbio che a livello popolare, i più grandi successi musicali appartengono alla terza categoria, quella delle canzoni.
Perchè se è vero che sia valida una musica senza testo, in teoria, maggiore dovrebbe essere il contenuto informativo e sociale di una musica con testo.
Lo stesso possiamo dire di uno scritto, se esso è valido, potrebbe esserlo maggiormente se musicato.
Ma è ovvio che tutti tre i generi esistono in quanto forme d’arte ben distinte e differenziate, in questa accezione quindi, non sarebbero paragonabili. Ma “il tutto è più della somma delle parti”…
Andando avanti con l’età le persone tendono ad abbandonare le canzoni preferendo i brani, musica d’ascolto, classica.
Forse perché il testo di una canzone ti rimane nella testa e non va più via, legandoti per tempi lunghissimi a eventi tristi o felici del passato. Il brano è più nobile e dotato di tatto, (la musica classica è nata per dar sollievo ai nobili).
Gli scritti spesso sono l’unica cosa che ci può fornire informazioni e chiarire situazioni dei tempi antichi che altrimenti non saremmo in grado di decifrare.
Premesso che rimane sempre il discorso delle attitudini; ci sono compositori musicali impacciatissimi quando parlano ma divini quando suonano. Persone con grandi doti oratorie ma che non sanno scrivere…
Lo scritto però espone di più, una volta che hai scritto una cosa; è quella e rimane scritta, e ne rispondi personalmente, (“verba volant, scripta manent”).
Anche se in effetti c’è stato anche chi ha criticato certa musica senza parole giudicandola satanica.
Insomma, l’importante è che facciamo le cose con passione, stando sempre attenti a non pestare i piedi a nessuno! (cosa non facile).

Testo by Andrea Bianchini (11 giugno 2021)