Forum
>>
Programmazione Python
>>
Scripting
>>
Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da alberto_consonni |
2022-04-24 18:26:36 - Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
|
Qui di seguito un breve script dove dopo l'esecuzione iniziale ho inserito la possibilità di ripetere gli step precedenti, il problema che sottopongo è che i passi precedenti sono ripetuti con nuovi valori, ma il risultato finale non viene aggiornato rispetto ai nuovi valori inseriti.
Ringrazio anticipatamente per l'aiuto Alberto Versione in uso: Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)] on win32 Script: import sys def calcolo1(): a = input ("Inserisci a ", ) A = float(a) b = input ("Inserisci b ", ) B= float (b) t = (A+B) print (t) return t T= calcolo1() def calcolo2(): c = input ("Inserisci c ", ) C = float(c) d = input ("Inserisci d ", ) D= float (d) z = (C*D) print (z) return z Z= calcolo2() def calcolo3(): K = T*Z print ("K =", K) calcolo3() def ripeti(): print ("1 per primo step, 2 per secondo step, 3 per ripetere gli step dall'inizio, 0 per uscire ") Rp = input () rp = int(Rp) if rp==(1): return calcolo1(),ripeti() if rp==(2): return calcolo1(),calcolo2(),ripeti() if rp==(3): return calcolo1(),calcolo2(),calcolo3(),ripeti() if rp==(0): sys.exit() ripeti() Output ottenuto: Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license()" for more information. ==================== RESTART: C:\PYthon\OUT\Ripetizioni_6.py =================== Inserisci a 4 Inserisci b 6 10.0 Inserisci c 9 Inserisci d 8 72.0 K = 720.0 1 per primo step, 2 per secondo step, 3 per ripetere gli step dall'inizio, 0 per uscire 3 Inserisci a 77 Inserisci b 55 132.0 Inserisci c 99 Inserisci d 44 4356.0 K = 720.0 Nonostante nella ripetizione i valori inseriti siano differenti il risultato di K non cambia |
|
Scritto da Daniele aka Palmux |
2022-04-25 12:18:32 - Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
|
Ciao caro, primo esercizio... sistema il codice.
Visto che la sintassi è parte del linguaggio, per capire eventuali errori metti tutto nella forma corretta usando l'apposito tasto code che trovi vicino alla tavolozza dei colori. Se non ti trovi, posta il codice con strumenti come Pastebin o similari. Poi si ragiona sul resto. Cya |
|
Scritto da alberto_consonni |
2022-04-29 22:07:34 - Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
|
import sys def calcolo1(): a = input ("Inserisci a ", ) A = float(a) b = input ("Inserisci b ", ) B= float (b) t = (A+B) print (t) return t T= calcolo1() def calcolo2(): c = input ("Inserisci c ", ) C = float(c) d = input ("Inserisci d ", ) D= float (d) z = (C*D) print (z) return z Z= calcolo2() def calcolo3(): K = T*Z print ("K =", K) calcolo3() def ripeti(): print ("1 per primo step, 2 per secondo step, 3 per ripetere gli step dall'inizio, 0 per uscire ") Rp = input () rp = int(Rp) if rp==(1): return calcolo1(),ripeti() if rp==(2): return calcolo1(),calcolo2(),ripeti() if rp==(3): return calcolo1(),calcolo2(),calcolo3(),ripeti() if rp==(0): #quit() kill programma #exit () kill programma #Nota IMPORTANTE dare il comando "import sys" all'inizio sys.exit() ripeti() |
|
Scritto da alberto_consonni |
2022-04-29 22:10:27 - Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
|
Grazie per l'indicazione, ho utilizzato "Code", spero che così l'input sia nella forma corretta
|
|
Scritto da alberto_consonni |
2022-05-26 12:14:54 - Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
|
Buongiorno, ripropongo la richiesta di aiuto: facendo ripetere al programma alcuni passi precedenti (funzioni), ed inserendo valori differenti rispetto a quelli della prima esecuzione, il risultato (indicato con K) non cambia, il programma fornisce sempre il risultato della prima esecuzione, non tiene conto dei nuovi input.
(Qui sotto ripropongo l'output della prima esecuzione e della ripetizione). Ringrazio anticipatamente per il supporto Alberto RESTART: C:\PYthon\OUT\Ripetizioni_6.py =================== Inserisci a 4 Inserisci b 6 10.0 Inserisci c 9 Inserisci d 8 72.0 K = 720.0 1 per primo step, 2 per secondo step, 3 per ripetere gli step dall'inizio, 0 per uscire 3 Inserisci a 77 Inserisci b 55 132.0 Inserisci c 99 Inserisci d 44 4356.0 K = 720.0 Nonostante nella ripetizione i valori inseriti siano differenti il risultato di K non cambia |
Pagina: 1
Esegui il login per scrivere una risposta.