Lavorare con i flag in Python

Flag - è una variabile speciale, che può assumere solo due valori: True o False. Con l'aiuto dei flag è possibile risolvere problemi che verificano l'assenza di qualcosa: ad esempio, è possibile verificare che in una lista non ci sia un elemento con un determinato valore.

Risolviamo il seguente problema: data una lista di numeri, verificare se tutti gli elementi in essa sono positivi. Per fare questo impostiamo una variabile speciale flag, che sarà vera prima dell'inizio del ciclo. E quando nel ciclo incontriamo un numero negativo, cambiamo il suo valore in False. Per conoscere il risultato del controllo, visualizziamo la variabile flag dopo il ciclo in console:

pythonlst = [1, 2, 3, 4, 5]
flag = True

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # visualizzerà True, poiché tutti i numeri sono positivi

Una buona pratica è assegnare alla variabile flag un nome che rifletta la condizione impostata. Rinominiamo flag in isAllPositive. E per chiarezza cambiamo un numero nella lista in negativo:

pythonlst = [1, 2, 3, -4, 5]
isAllPositive = True

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # visualizzerà False, poiché c'è un numero negativo

Se nella lista che stiamo scorrendo ci sono molti valori e è necessario interrompere il ciclo dopo il rilevamento del primo numero negativo, allora si dovrebbe usare l'istruzione break:

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

Quando si lavora con i flag, per conoscere il risultato dell'esecuzione del ciclo, è possibile visualizzare non il valore del flag, ma un messaggio arbitrario con l'aiuto di un ulteriore if.

Riscriviamo l'esempio precedente. Se tutti gli elementi sono positivi, allora che venga visualizzato '+++', altrimenti - '---':

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

if isAllPositive:
  print('+++')
else:
  print('---') # visualizzerà '---'
Задание 1

Data una lista. Verifica che tutti i suoi elementi siano numeri positivi.

Задание 2

Dato un numero intero. Verifica se è un numero primo, cioè divisibile solo per uno e per se stesso.