davegimo

federica3matrice

Mar 6th, 2021
667
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. m = [ ['3', 'T', '7', None,'5', '1', '4',None],
  2.       ['2', '2', '2', None,'0', 'T', '7',None],
  3.       [None,None,None,None,'3', '2', '1',None],
  4.       [None,None,None,None,None,None,'1',None],
  5.       [None,None,None,None,None,None,'1','T']  ]
  6.  
  7.    
  8. def media(m,i,j):
  9.     somma = 0
  10.     conta = 0
  11.    
  12.     lrighe = len(m)
  13.     lcolonne = len(m[0])
  14.  
  15.     if i-1 >= 0 and j-1 >= 0:
  16.         if m[i-1][j-1] is not None:
  17.             somma += int(m[i-1][j-1])
  18.             conta += 1
  19.  
  20.     if j-1 >= 0:
  21.         if m[i][j-1] is not None:
  22.             somma += int(m[i][j-1])
  23.             conta += 1
  24.  
  25.     if i+1 < lrighe and j-1 >= 0:
  26.         if m[i+1][j-1] is not None:
  27.             somma += int(m[i+1][j-1])
  28.             conta += 1
  29.  
  30.     if i-1 >= 0:
  31.         if m[i-1][j] is not None:
  32.             somma += int(m[i-1][j])
  33.             conta += 1
  34.  
  35.     if i+1 < lrighe:
  36.         if m[i+1][j] is not None:
  37.             somma += int(m[i+1][j])
  38.             conta += 1
  39.    
  40.     if i-1 >= 0 and j+1 < lcolonne:
  41.         if m[i-1][j+1] is not None:
  42.             somma += int(m[i-1][j+1])
  43.             conta += 1
  44.  
  45.     if j+1 < lcolonne:
  46.         if m[i][j+1] is not None:
  47.             somma += int(m[i][j+1])
  48.             conta += 1
  49.  
  50.     if i+1 < lrighe and j+1 < lcolonne:
  51.         if m[i+1][j+1] is not None:
  52.             somma += int(m[i+1][j+1])
  53.             conta += 1
  54.  
  55.     return float(somma/conta)
  56.    
  57. def contasoglie(m,s):
  58.     tavoli = []
  59.     for i in range(len(m)):
  60.         for j in range(len(m[i])):
  61.             if m[i][j] == 'T':
  62.                 tavoli.append((i,j))
  63.  
  64.     print(tavoli)
  65.    
  66.     conta = 0
  67.     for el in tavoli:
  68.         avg = media(m,el[0],el[1])
  69.         if avg > s:
  70.             conta += 1
  71.  
  72.     print(conta)
  73.     return conta
  74.    
  75.  
  76. contasoglie(m,1)
  77.  
RAW Paste Data