alberto_consonni
Profilo di
Nome | alberto_consonni |
---|---|
Indirizzo email | n/a |
Messaggi | 4 |
-
- 2022-05-26 12:14:54
- Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
- Forum >> Programmazione Python >> Scripting
- 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
-
- 2022-04-29 22:10:27
- Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
- Forum >> Programmazione Python >> Scripting
-
Grazie per l'indicazione, ho utilizzato "Code", spero che così l'input sia nella forma corretta
-
- 2022-04-29 22:07:34
- Re: Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
- Forum >> Programmazione Python >> Scripting
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()
-
- 2022-04-24 18:26:36
- Quesito: come ritornare a passi precedenti di programma inserendo nuovi valori
- Forum >> Programmazione Python >> Scripting
- 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