02. Funzioni input() e print()

Lettura da tastiera e stampa a video

nome = input("Inserire nome e cognome: ")

print("E' stato inserito il seguente nominativo: ", nome)

print("==================")

Inserire nome e cognome: Antonio Izzo

E' stato inserito il seguente nominativo:  Antonio Izzo

==================


Note:


a = input("Inserire la misura della base del rettangolo: ")

b = input("Inserire la misura dell'altezza del rettangolo: ")

area = int(a) * int(b)

print("Area:", area)

Inserire la misura della base del rettangolo: 5

Inserire la misura dell'altezza del rettangolo: 6

Area: 30


Note:


Modificare il comportamento di default della print()

a = 123

b = 678

c = 9

print(a, b, c, sep=" --- ")

print(a, end="; ")

print(b, end="; ")

print(c)

123 --- 678 --- 9

123; 678; 9

Note:


Print(): formattazione avanzata del testo con il metodo della f-string

Questa tecnica sfrutta a pieno la possibilità di formattare una stringa anteponendo il carattere f alla stringa stessa.

In questo modo nella stringa è possibile inserire dei segnaposto delimitati da una coppia di parentesi graffe ({}). Le parentesi graffe devono delimitare una variabile precedentemente definita e, opzionalmente, un parametro di formattazione.

Ad esempio


val = 12.34567

mystr = f'{val:.2f}'

Nella coppia di parentesi graffe compare la variabile val e il parametro di formattazione :.2f, che definisce il numero di cifre decimali  da includere.

Dopo l'assegnazione, la variabile mystr referenzia la stringa "12.34".

Formattazione del testo

s1 = 'a'

s2 = 'ab'

s3 = 'abc'

s4 = 'abcd'

print(f'{s1:>10}')

print(f'{s2:>10}')

print(f'{s3:>10}')

print(f'{s4:>10}')

         a

        ab

       abc

      abcd

Note:

Formattazione dei valori numerici

a = 1234.5

b = 3.141592653

c = 7

d = 76

e = 765

print(f'{a:.3f}')

print(f'{b:.3f}')

print(f'{b:8.3f}')

print(f'{c:4d}')

print(f'{d:4d}')

print(f'{e:4d}')

1234.500

3.142

   3.142

   7

  76

 765

Note:

Formattazione della data

import datetime

now = datetime.datetime.now()

print(f'{now:%Y-%m-%d %H:%M %S}')

2020-02-13 14:46 40

Note:

%Y     anno

%m     mese

%d     giorno

%H     ora

%M     minuti

%S     secondi

Conversione di base

a = 300

print(f"{a:x}")      # notazione esadecimale

print(f"{a:o}")      # notazione ottale

print(f"{a:b}")      # notazione binaria

print(f"{a:e}")      # notazione scientifica

12c

454

100101100

3.000000e+02

Caratteri speciali

Le parentesi graffe nelle f-string sono caratteri speciali.

Per includere le parentesi graffe occorre ripetere due volte il carattere.

Le sequenze speciali \n, \t hanno il consueto significato.

Esempio:

print(f'esempio di f-string {{a}}\ncon caratteri speciali')

esempio di f-string {a}

con caratteri speciali


Print(): formattazione avanzata del testo con il metodo della old string

Questa tecnica richiama da vicino la modalità di formattazione della printf() del linguaggio C

a = 123

b = 678.9

c = 456.7891

print("Metodo old string\na=%d\nb=%f\nc=%.2f" % (a, b, c))

Metodo old string

a=123

b=678.900000

c=456.79

Note: