# Costanti in python

**URL:** <https://it.discourse.mcneel.com/t/costanti-in-python/3344>\
**Category:** Grasshopper\
**Created:** [12 Agosto 2020, 10:35pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344 "2020-08-12T22:35:57Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [12 Agosto 2020, 10:35pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/1 "2020-08-12T22:35:57Z")

</div>

nel componente Py in Gh ho collegato un button (true/false)  
nel codice dichiaro una variabile e quando clicco il bottone per  
cambiare il valore della variabile, dopo il click si perde il nuovo valore

ma non dovrebbe rimanere memorizzato, essendo che ho dichiarato all’esterno del If la variabile?

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [12 Agosto 2020, 11:19pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/2 "2020-08-12T23:19:05Z")

</div>

[https://global.discourse-cdn.com/mcneel/uploads/mcneel\_it/original/2X/6/631d488f3957817ce1431a8318058d9762864fd8.mp4](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/6/631d488f3957817ce1431a8318058d9762864fd8.mp4)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [12 Agosto 2020, 11:47pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/3 "2020-08-12T23:47:56Z")

</div>

ciao inno

> var = “”  
> if x == True: var = “ok”  
> print var

mi servirebbe che “var” rimanesse col valore “ok”

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [13 Agosto 2020, 12:31am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/4 "2020-08-13T00:31:22Z")

</div>

…così?

[https://global.discourse-cdn.com/mcneel/uploads/mcneel\_it/original/2X/3/39e7c042a39dccadb10ac613dcd06b2886f6434a.mp4](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/3/39e7c042a39dccadb10ac613dcd06b2886f6434a.mp4)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 1:32am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/5 "2020-08-13T01:32:17Z")

</div>

è come quello postato da me, solo che nel tuo sei ritornato a capo dopo la condizione del If

diciamo che mi ha confuso il bottone, che con il codice in Gh non l’ho mai usato  
coi codici fatti nel passato quando una condizione diventava vera rimaneva vera  
e quindi il valore cambiava e restava quello, mentre col bottone vale solo sul click

però contemporaneamente a parte usare il “pulsante”, credo che ci dovrebbe  
essere un modo per ottenere ciò (così mi sembra di ricordare se non erro)

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [13 Agosto 2020, 7:32am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/6 "2020-08-13T07:32:19Z")

</div>

Non puoi usare un Toggle ? 🙂

 ![image](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/e/e517b03631ef717795bd4da4c237ca65726b325e.png)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 10:20am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/7 "2020-08-13T10:20:18Z")

</div>

> [@emilio](#):
>
> Non puoi usare un Toggle ?

> [@0904](#):
>
> a parte usare il “pulsante”

si Emilio, infatti l’ho avevo menzionato “male” pulsante intendevo interruttore  
essendo che è un dato che deve essere aggiornato di continuo,  
quindi ad ogni cambiamento vero/falso esegue l’aggiornamento

eppure, ero convinto che una cosa simile anni fa l’avevo ottenuto sai:  
in pratica il funzionamento è tipo una specie di quei “pulsanti/interruttori”  
collegati ad una centralina, dove ad ogni click cambiano le luci accese. . . .

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 10:51am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/8 "2020-08-13T10:51:05Z")

</div>

> [@0904](#):
>
> essendo che è un dato che deve essere aggiornato di continuo,  
> quindi ad ogni cambiamento vero/falso esegue l’aggiornamento

mi sa che è lo stesso problema 🤔 🤔

ma forse qui centra Gh? (spero)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 11:23am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/9 "2020-08-13T11:23:55Z")

</div>

inserito valore nel file testo, in modo da poter fare il confronto.

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [13 Agosto 2020, 11:55am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/10 "2020-08-13T11:55:28Z")

</div>

non ho mica capito sai 🙂

hai un boolean switch che può dare valore True o False  
questo valore 1/0 entra in un componente Python, e tu vuoi che se lo switch è su True allora Python printi “ok”, mentre se è su valore False allora Python non printi niente

quando è di preciso che vuoi che la variabile var rimanga settata su “ok”?  
var restituirà “ok” se e solo se il boolean toggle è su True, o ci siam persi qualcosa?

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 12:12pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/11 "2020-08-13T12:12:15Z")

</div>

“ok” era solo per indicare il valore diverso da quello iniziale  
in pratica ad ogni click il codice deve comparare il nuovo  
valore con quello vecchio, da quello cambia la condizione

quindi un valore da comparare, viene inserito in un file testo  
e l’altro variabile serve per fare la comparazione

il valore che viene inserito nel file si aggiorna al click del pulsante

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [13 Agosto 2020, 12:30pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/12 "2020-08-13T12:30:24Z")

</div>

Vuoi scrivere un file di testo ?  
E cosa ci scrivi ?  
Fai un esempio di sequenza di input e file risultante.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2020, 12:53pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/13 "2020-08-13T12:53:45Z")

</div>

sto provando se il risultato è quello che ho in mente

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2020, 8:38am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/14 "2020-08-14T08:38:38Z")

</div>

> [@emilio](#):
>
> Vuoi scrivere un file di testo ?  
> E cosa ci scrivi ?  
> Fai un esempio di sequenza di input e file risultante.

```
with open("D:/test.txt", "r") as File: Riga = File.read()

if Button == True:
    with open("D:/test.txt", "w") as File:
        File.write(str(Slider))

if str(Slider) != str(Riga):
    print "No"
else:
    print "Si"

print Slider, Riga

```

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [14 Agosto 2020, 2:29pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/15 "2020-08-14T14:29:20Z")

</div>

Quindi hai risolto ?  
Bene, alla prossima.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2020, 5:39pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/16 "2020-08-14T17:39:00Z")

</div>

> [@emilio](#):
>
> Quindi hai risolto ?

“Ni”

come già accennato (ricordavo) che potevo avere lo stesso risultato senza srivere in un file  
in pratica col pulsante dovrei decidere quale numero id scegliere, ed avere lo stesso risultato

hai qualche idea in merito?  
o soluzione?

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [14 Agosto 2020, 7:20pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/17 "2020-08-14T19:20:10Z")

</div>

Come dicevo, non capisco cosa vuoi fare … 😕  
Dovrei vedere un esempio di dati in input e relativo output previsto.

E’ lo stesso problema per cui hai postato la definizione GH ?

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2020, 9:41pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/18 "2020-08-14T21:41:48Z")

</div>

> [@emilio](#):
>
> E’ lo stesso problema per cui hai postato la definizione GH ?

parli della definizione dell’altro post? era un codice che doveva essere inserito ma poi ho cambiato.

> [@emilio](#):
>
> Dovrei vedere un esempio di dati in input e relativo output previsto.

una cosa semplice, il bottone mi deve cambiare “permanentemente” (non solo quando gli clicco sopra) il valore di una variabile dichiarata ad inizio codice, in modo poi da poter fare un confronto.

nel codice che ho postato sopra, ottengo questo risultato inserendo il valore nel file.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2020, 10:44pm UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/19 "2020-08-14T22:44:06Z")

</div>

oppure un’altro esempio:

dichiaro una variabile numerica col valore iniziale di 0  
e ad ogni click del Bottone viene incrementato di 1

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [15 Agosto 2020, 8:37am UTC](https://it.discourse.mcneel.com/t/costanti-in-python/3344/20 "2020-08-15T08:37:19Z")

</div>

> [@0904](#):
>
> ad ogni click del Bottone viene incrementato di 1

Non saprei come fare usando solo GH … 😕  
Questo invece del file usa scriptcontext.sticky, ma non cambia molto.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/e/eb6a0d9743f0737ba239ef7748cadd755840b29d.png)

[salvio-4.gh](https://it.discourse.mcneel.com/uploads/short-url/wBKf34YEbisYn1F2y370bhPH5VX.gh) (5,2 KB)

[Pagina seguente](https://it.discourse.mcneel.com/t/costanti-in-python/3344.md?page=2)
