def posiz(t,a,v0,s0): return s0 + v0*t + 0.5*a*t**2 def usage(): print("Opzioni valide:") print(" -T ") print(" -S ") print(" -V ") print(" -A ") if __name__=='__main__': import sys,getopt #definisco i valori di default a = t = 1 s0 = v0 = 0 try: options,args = getopt.getopt(sys.argv[1:], 'T:S:V:A:') for option,value in options: if option == '-T': t = float(value) elif option == '-S': s0 = float(value) elif option == '-V': v0 = float(value) elif option == '-A': a = float(value) except getopt.GetoptError as err: print('Opzione -{0} non gestita'.format(err.opt)) usage() sys.exit(1) except ValueError: print("Almeno uno dei parametri non e' un numero") sys.exit(1) else: print('posiz(t={0} , a={1} , v0={2} , s0={3}) = {4}'.format(t,a,v0,s0,posiz(t,a,v0,s0))) finally: print('fine')