Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
def removemiddle(data):
if data==0:
return
if len(data)%2==0:
data.pop(len(data//2))
data.pop(len(data//2))
else:
data.pop(len(data//2))
SECONDO MASSIMO
#esercizio p6.4 secondo elemento maggiore
#max mi dice il primo massimo, il secondo massimo è elemento più grande diverso
da 12
#
def secondlargest(data):
largest=max(data)
second=min(data)#possibile valore
for element in data:
if element>second and element != largest:
second = element
return second
Metodo alterativo
def secondlargest(data):
largest=max(data)
poslargest=data.index(largest)
data.pop(poslargest)
second=max(data)
data.insert(poslargest,largest) #devo reinserire il valore per lasciarla
inalterata
return second
ESERCIZIO H
#esercizio p6.4 H se una condizione è soddisfatta, lista in ordine crescente,
osservo la lista e dove un elemento è < elemento precedente
#ritorno falso, se gli ho scorsi tutti posso restituire true
def isincreasing(data):
for i in range(1,len(data)):
if data[i]<data[i-1]:
return False
return True
ESERCIZIO I
# esercizio p6,4 i restituire true se ci sono elementi adiacenti duplicati
def elementiadiacenti(data):
for i in range(0,len(data)-1):
if data[i]==data[i+1]:
return True
return False
ESERCIZIO J
# esercizio p6,4 J restituire true solo se ci sono elementi duplicati
def elementiduplicati(data):
for i in range(0,len(data)-1):
for j in range(i+1,len(data)):
if data[i]==data[j]:
return True
return False
TABELLE
Matrice di valori interi con tutte le medaglie del medagliere e ogni riga è uno stato. La tabella è data da 2
dimensioni. Se creo una tabella in python: riga racchiusa da parentesi quadra il tutto avvolto da una quadra
iniziale e una finale
Tab=[
[……..]
Le righe sono delle liste e le raggruppo in una tabella (una lista con ogni elemento un riferimento alla lista)
Posso partire da lista vuoto, creando singole righe e aggiungendole alla tabella, le operazioni su tabelle
sono simili a quella delle liste.
Per stampare devo fare un doppio ciclo for (esterno definisce le righe) (l’interno definisce le colonne) per
andare a capo con la print vuota
Per lavorare con gli elementi interni utilizzi i e j che variano con +1 e -1 e così via
Sommare elementi sulla riga il secondo indice viene definito da un ciclo for tenendo ferma la riga
Numero di righe della tabella faccio len sul nome della tabella
for i in range(1,SIZE):
if sum(board[i])!=target<.
print(f"la riga {i} ha somma diversa")
magico=False
#ora controllo le colonne
for i in range (SIZE):
sum=0
for j in range(SIZE):
sum=board[i][j]+sum
if sum!= target:
print("errore: la colonna",i,"ha somma diversa")
#prendo ora le diagonali
diag1=board[0][0]+board[1][1]+board[2][2]+board[3][3]
if diag1!= target:
print("priblema con la diagonale 1")
magico=False
#faccio la stessa cosa con ila diagonale 2
if magico:
print("il quadrato è magico")
else:
print("il quadrto non è magico")