Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

Fare calcoli a mente è divertente, ma suppongo che tu voglia memorizzare il risultato di un calcolo. Per questo ci sono le varirabili.

Una variabile assomiglia a una scatola dove puoi conservare numeri, stringhe e gli altri oggetti complessi che impareremo a usare andando avanti con questo tutorial

In Python, i nomi delle variabili devono iniziare con una lettera (maiuscola o minuscola) o un underscore e può essere composta solo da lettere, underscore e numeri. Per esempio, ciò che segue sono tutti nomi di variabili validi:

  • username
  • _password
  • article_content
  • menu_2
  • theGreatestVariableEver

Questi, al contrario, non sono nomi validi:

  • is-ok? (contiene un trattino e un punto interrogativo)
  • 2values (non inizia con un underscore o una lettera)

Per iniziare a usare le variabili, semplicemente ci si assegna un valore. Per farlo, si scrive il nome della variabile, seguito da un segno di uguale (=) e il valore (o l'espressione) che vi si vuole assegnare.

>>> x = 42
>>> somma = 30 + 5

Per controllare cosa c'e dentro una variabile mentre si usa l'interprete interattivo, basta scrivere il nome della variabile e premere invio:

>>> x
42
>>> sum
35

Le variabili possono essere utilizzate all'interno delle espressioni.

>>> sum_minus_x = sum - x
>>> sum_minus_x
-7

E puoi stamparle a schermo, ovviamente, usando la funzione print .

>>> print(sum)
35

E' un buon momento di spiegarti come usare la funzione input. Quello che fa è chiedere all'utente una stringa e restituirla. Supponiamo, per esempio, che tu abbia bisogno di chiedere il nome all'utente per salutarlo. Come potremmo fare?

>>> name = input("What's your name? ")
What's your name? Jane
>>> print("Hello " + name)
Hello Jane

Il testo in grassetto indica quello che è digitato dall'utente.

There's some new stuff going on with that last snippet. Let's break it down a bit.

First of all, the input function accepts a parameter, that will be what the user will see when asked for input. In this case, we're asking for their name. Notice the white space after the question mark. If you don't put it there, the user will start typing just after the question mark, which is not nice to see.

We then want to assign the result returned by the input function (i.e. what the user typed) to the name variable. Please note that input stops reading as soon as the user presses enter but doesn't care about spaces.

Once the user presses enter, we print "Hello " followed by the name the user wrote. Notice that, when handling strings, the plus sign (+) means "give me the concatenation of these two strings". This is not the best way to compose strings to show the user. We will cover the best way to do this in another tutorial.

Let's do something else. Let's ask the user for two numbers and sum them.

>>> a = input("Write the first number: ")
Write the first number: 10
>>> b = input("Write the second number: ")
Write the second number: 23
>>> sum = a + b                             
>>> print ("Their sum is " + sum)
Their sum is 1023

Wait, what? Oh, we forgot to tell you that the input function returns strings!

There's a difference between a string and a number. The string "42" is not the same as the number 42. It's really the '4' character followed by the '2' character. The Python interpreter doesn't know what's inside a string, so it treats it exactly how it would have treated the strings "Hello" and "World", so the plus sign just concatenates them.

But don't worry, there's a function for that. It's called int. The int function takes a string as a parameter and converts it to a number.

>>> int("42")
42

Notice there are no quotes on the result. So let's amend our previous example.

>>> a = input("Write the first number: ")
Write the first number: 10
>>> b = input("Write the second number: ")
Write the second number: 23
>>> sum = int(a) + int(b)
>>> print ("Their sum is " + sum)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly

Don't worry if you don't understand what the interpreter is telling you here. We'll learn how to recognize and handle this kind of situations when we'll talk about exceptions in the next tutorial.

What's wrong this time? Well, the problem is that we can concatenate a string ("Their sum is ") and an integer. So, as we converted a string to an integer, we shall convert an integer back to a string. The function we need is called str, which takes a value and converts it to a string.

>>> a = input("Write the first number: ")
Write the first number: 10
>>> b = input("Write the second number: ")
Write the second number: 23
>>> sum = int(a) + int(b)
>>> print ("Their sum is " + str(sum))
Their sum is 33

That's more like it.

You may be wondering what happens if you pass int a string that can't be converted to a number.

>>> int("banana")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'banana'

Well, for now let's just say the interpreter didn't like it one bit. As previously stated, this will be discussed further in this series.

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: neeksgr
Ultima modifica di: neeksgr,