Salve a tutti,

il problema è risolto.

Marco Beri mi ha dato il primo aiuto con:
>Ti consiglio anche di studiare bene il concetto di scoping e namespace.

Di fatti qui ho trovato un documento che descriveva molto bene le
variabili locali (quelle delle funzioni) e quelle globali (del modulo)

Da un'altra persona mi è stato detto di usare il comando
global nome_variabile
per dichiarare una variabile globale dentro una funzione.

Cerco metodi più eleganti (sono all'inizio).

grazie a tutti

saluti

andrea
#!/usr/bin/python
# -*- coding: utf-8 -*-

#Questa funzione controlla che i valori inseriti siano solo N oppure S se, non sono tali stampa ilmessaggio ATTENZIONE e ricomincia la funzione

def controllo_lat_ref():
    global GPSLatitudeRef                      #Global trasforma le variabili locali in globali (le locali vivono solo nella funzione)
    GPSLatitudeRef=input("Inserisci il riferimento della Latitudine; N=Nord S=Sud: ") #Input per stringhe
    GPSLatitudeRef = GPSLatitudeRef.upper()    #Se GPSLatitudeRef è stato scritto in minuscolo, questo comando lo formatta in maiuscolo
    if (GPSLatitudeRef == "S") or (GPSLatitudeRef == "N"):
        print()
    else:
        print()
        print("\033[36m ATTENZIONE --- Valore non consentito --- \033[0m")
        controllo_lat_ref()

controllo_lat_ref()

print(GPSLatitudeRef)
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a