Python Tutorial: esercizi con soluzione

Python Tutorial: esercizi con soluzione
Python è un linguaggio di programmazione semplice, e allo stesso tempo molto evoluto.
Abbiamo scritto numerosi articoli su Python, ed è giunto il momento di fare esercitazione.
In questo articolo vediamo alcuni esercizi Python, spiegando passo passo la soluzione.

Estimated reading time: 4 minuti


Vediamo insieme il testo di alcuni esercizi e la soluzione.


Esercizio Reverser

Scrivi una funzione a cui passerai come parametro una stringa, e che manderà in output, a video, una versione inversa (al contrario) della stessa stringa. Ad esempio "abcd" diventerà "dcba".


Suggerimento: per risolvere questo esercizio in modo compatto potresti usare lo slicing.


Soluzione
# Solution for this exercise
def reverser(string):
ind = (len(string) -1)
new_string = ""
while ind >= 0:
new_string += string
ind -= 1
print(new_string)
def reverser_pro(string):
reverse = string
print(reverse)
Esercizio Rhyme

Scrivi una funzione rhyme, a cui viene passato un elenco di parole come parametro e che riceva una parola inserita dall'utente tramite la funzione input.


La funzione rhyme dovrà confrontare la parola inserita dall'utente con quelle presenti nell'elenco passato, alla ricerca di rime, intese come parole le cui ultime 3 lettere siano uguali alla parola inserita dall'utente.


Le rime dovranno essere quindi mostrate in output utilizzando il metodo join.


Soluzione
# Two solutions for this exercise, rhyme and rhyme_pro
def rhyme(listx):
rime =
word = input("Enter the word you want to find rhymes for: ")
for element in listx:
if element == word:
rime.append(element)
if not rime:
print("No rhymes corresponding to the past word were found!")
else:
output = ", ".join(el for el in rime)
print(f"The rhymes corresponding to the word {word} are as follows: {output}")
def rhyme_pro(listx):
rime =
parola = input("Enter the word you want to find rhymes for: ")
rime = == word]
if not rime:
print("No rhymes corresponding to the past word were found!")
else:
output = ", ".join(el for el in rime)
print(f"The rhymes corresponding to the word {word} are as follows: {output}")
Esercizio Factorial

Scrivi una funzione ricorsiva che calcola il fattoriale di un numero dato.


Soluzione
def factorial(n):
if n == 1:
return n
else:
result = n * factorial(n-1)
return result
Esercizio Fibonacci

Nella Successione di Fibonacci, ciascun numero è la somma dei due numeri che lo precedono, ad esempio:


1, 1, 2, 3, 5, 8, 13 (...)


Scrivi una funzione ricorsiva che restituisce in output i numeri della successione di Fibonacci, entro una soglia specifica impostata dall'utente.


Soluzione
def fibonacci(n):
if n
-
-
-
-
-
number_to:
print("Too high. Try again!")
else:
print(f"Congratulations! You guessed the number {number_to} in {numbers} attempts.")
break
except ValueError:
print("Enter a valid number.")
if __name__ == "__main__":
main()
Esercizio Lancio dei Dadi

Realizzare un simulatore di lancio di dadi utilizzando Python. Il programma permetterà di simulare il lancio di uno o più dadi e visualizzare i risultati.


Requisiti
- Librerie Python: Utilizzare la libreria random per generare i numeri casuali.
- Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di specificare il numero di dadi da lanciare e visualizzare i risultati.
- Simulazione di Lancio:
- Generare un numero casuale tra 1 e 6 per ogni dado.
- Visualizzare i risultati del lancio.
Soluzione
import random
def roll_dice(num_dice):
results =
return results
def main():
print("Dice Rolling Simulator")
while True:
try:
num_dice = int(input("Enter the number of dice to roll: "))
if num_dice
-
-
-
- Calcolare le consonanti e le vocali del nome e cognome.
- Calcolare il codice della data di nascita e del sesso.
- Calcolare il codice del luogo di nascita utilizzando un dizionario.
- Calcolare il carattere di controllo.
= 4:
cons = cons + cons + cons
cod = (cons + vocs + 'XXX').upper()
return cod
def cod_date_birth(date_birth, gender):
cod_month = 'ABCDEHLMPRST'
data = datetime.datetime.strptime(date_birth, '%d/%m/%Y')
year = str(data.year)
month = cod_month
day = data.day + 40 if gender == 'F' else data.day
day = f'{day:02d}'
return year + month + day
towms = {
'ROMA': 'H501',
'MILANO': 'F205',
'NAPOLI': 'F839',
# Add towns here
}
def cod_town(towm):
return towns.get(town.upper(), 'XXXX')
def check_char(cf_partial):
values = {
**{chr(i): i - 48 for i in range(48, 58)},
**{chr(i): i - 55 for i in range(65, 91)}
}
odd =
even =
total = sum(odd]] if i % 2 == 0 else even]] for i in range(15))
return chr((total % 26) + 65)
def get_fiscal_code(name, surname, date_birth, gender, town):
cf = cod_lastname(cognome)
cf += cod_name(nome)
cf += cod_date_birth(date_birth, sesso)
cf += cod_town(comune)
cf += check_char(cf)
return cf
def main():
print("Tax Code Generator")
lastname = input("Insert lastname: ")
name = input("Insert name: ")
date_birth = input("Insert date of birth (dd/mm/yyyy): ")
gender = input("Insert Gender (M/F): ").upper()
town = input("Insert Birth Town: ")
tax_code = get_fiscal_code(name, lastname, date_birth, gender, town)
print(f"Your tax code: {tax_code}")
if __name__ == "__main__":
main()
Esercizio Convertitore di Valute

In questo esercizio, realizzerai un convertitore di valute utilizzando Python. Il programma permetterà di convertire importi tra diverse valute utilizzando un’API per ottenere i tassi di cambio aggiornati.


Requisiti
- Librerie Python: Utilizzare la libreria requests per fare richieste HTTP all’API di tassi di cambio.
- API di Tassi di Cambio: Utilizzare un’API gratuita come ExchangeRate-API o Open Exchange Rates.
- Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di specificare l’importo, la valuta di origine e la valuta di destinazione.
- Conversione di Valute: Ottenere i tassi di cambio dall’API e calcolare l’importo convertito.
Soluzione
import requests
# Function to get exchange rates from API
def get_exchange_rate(api_key, base_currency, target_currency):
url = f"https://v6.exchangerate-api.com/v6/{api_key}/latest/{base_currency}"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
rates = data
return rates
else:
raise Exception(f"Error getting exchange rates: {data}")
# Function to convert the amount between two currencies
def convert_currency(amount, base_currency, target_currency, api_key):
rate = get_exchange_rate(api_key, base_currency, target_currency)
converted_amount = amount * rate
return converted_amount
def main():
api_key = "your_api_key_here"
print("Currency Converter")
while True:
try:
amount = float(input("Enter the amount to convert: "))
base_currency = input("Enter your source currency (i.e. USD, EUR): ").upper()
target_currency = input("Enter the destination currency (i.e. USD, EUR): ").upper()
converted_amount = convert_currency(amount, base_currency, target_currency, api_key)
print(f"{amount} {base_currency} are {converted_amount:.2f} {target_currency}")
except Exception as e:
print(f"Errore: {e}")
another = input("You want to make another conversion ? (y/n): ").lower()
if another != 's':
break
if __name__ == "__main__":
main()
Ercole Palmeri
#python #Tutorial
https://bloginnovazione.it/python-esercizi/49335/

Commenti

Post popolari in questo blog

Come impostare i giorni lavorativi in ​​Microsoft Project: calendario di progetto