Python. Stampa un carattere di n posizioni prima di un carattere assegnato

Ciao a tutti,

ecco l’ottavo esercizio che stampa un carattere di n posizioni prima un carattere assegnato.

Esercizio 08

Scrivere un programma che legge in input un carattere ‘c’ e un intero ‘n’ e stampa il carattere la cui posizione nella tabella UNICODE sia ‘n’ posizioni prima della posizione del carattere ‘c’.

#--------------------------------------------------------------
# Name:        Es_08_stampa_carattere_posizione(-).py
# Purpose:
#
# Author:      Michele
#
# Created:     10/10/2017
# Copyright:   (c) Mik.2017
# Licence:     

#--------------------------------------------------------------
# Scrivere un programma che legge in input un carattere 'c' e un 
# intero 'n' e stampa il carattere la cui posizione nella tabella 
# UNICODE sia 'n' posizioni prima della posizione del carattere 'c'.
# Ad es. se il carattere è 'D' e l'intero è 3 il programma deve 
# stampare 'A', il carattere 3 posizioni più indietro del 
# carattere 'D' nella tabella UNICODE.
#--------------------------------------------------------------
# chiede l'inserimento del carattere 'c' e del numero intero 'n'
# con la funzione 'input()'
c=input ("Inserisci un carattere da tastiera: ")
n=input ("Inserisci un numero intero: ")
n=int(n)
# ora trasformiamo il carattere inserito nel numero UNICODE corrispondente
# con il comando ord().
n1=ord(c)
# Ora al numero ottenuto n1 sottraiamo 'n' e inseriamo tale operazione
# nella variabile n1=n1-n.
n1=n1-n
# Infine inseriamo in c1=chr(n1) il carattere corrispondente a n posizioni
# prima del carattere 'c'
c1=chr(n1)
# stampiamo il carattere UNICODE corrispondente alla posizione "n"
print ("Il carattere UNICODE di ",n,"posizioni prima del carattere","'",c,"' è '",c1,"'")

Soluzione di cattedra:

# esercizio8.py
# prende in input un carattere c ed un intero n e stampa
# il carattere il cui codice UNICODE sia uguale al codice
# UNICODE di c meno n
c = input("inserisci un carattere:  ")
n = int(input("inserire un intero positivo: "))
codice_c = ord(c)
codice_nuovo = codice_c - n
print(chr(codice_nuovo))

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

error: Contenuto protetto !!