Scrivere un programma che chieda all'utente un numero intero positivo n e definisca una funzione che stampi un triangolo formato da asterischi (*), dove la prima riga contiene n asterischi, la seconda n-1 asterischi, e così via, fino a 1 asterisco.
def print_triangle(n):
for i in range(0, n):
for j in range(0, n - i):
print("*", end=" ")
print()
n = int(input("Inserisci un numero positivo: "))
print_triangle(n)
Scrivere un programma che chieda all'utente di inserire un numero intero positivo n e definisca una funzione che stampi un quadrato di dimensione n x n con 1 sulle due diagonali e 0 altrove.
def stampaX(n):
for i in range(0, n):
for j in range(0, n):
if i == j or i == n - 1 - j:
print(1, end=" ")
else:
print(0, end=" ")
print()
n = int(input("Inserisci un numero positivo: "))
stampaX(n)
Scrivere un programma che chieda all'utente di inserire un numero intero positivo n e definisca una funzione che calcoli la somma delle sue cifre utilizzando divisioni successive per 10 per isolare le cifre. Il programma stampi la somma ottenuta in output.
def somma_cifre(numero):
somma = 0
while numero > 0:
cifra = numero % 10
somma += cifra
numero //= 10
return somma
n = int(input("Inserisci un numero positivo: "))
print(somma_cifre(n))
Scrivere un programma che chieda all'utente di inserire un numero intero positivo n e definisca una funzione che ritorni l'n-esimo termine della successione di Fibonacci.
La successione di Fibonacci è definita come segue:
F(1) = 1
F(2) = 1
F(n) = F(n-2) + F(n-1) per n = 3, 4, ...
def fibonacci(n):
if n == 1 or n == 2:
return 1
a = 1 # Terzultimo termine
b = 1 # Penultimo termine
for i in range(3, n + 1):
c = a + b # Termine attuale (che stiamo calcolando)
a = b # Terzultimo termine
b = c # Penultimo termine
return c
n = int(input("Inserisci un intero positivo >= 1: "))
print(fibonacci(n))