Ho trovato degli esercizi carini sul blog di un professore di informatica, eccoli:
1)
Nel 1950 la città A ha 100 abitanti, la città B 40. La città A cresce al tasso dell'otto per cento annuo, la citta B a quello del dieci percento. In che anno la città A e la città B avranno lo stesso numero di abitanti?
2)
Dati due numero A e B, calcolare il risultato e il resto della divisione di A per B senza usare l'operatore di divisione (/ o //)
3)
Dati il prezzo di una scatola di materiale ed il numero di scatole acquistate, calcolare quanto si è speso in tutto (iva= 20%)
4)
Quanti giorni ci sono in A anni e B mesi e C settimane?
5)
Ad una gara di sci partecipano 100 sciatori, presi in input i loro tempi, calcolare il tempo medio di discesa.
6)
Pierpaoloantonio studia solo nei giorni pari dei mesi dispari oppure nei giorni dispari dei mesi pari. Un giorno alla settimana è a scuola il pomeriggio e quindi non studia, tranne che in maggio. Oggi deve studiare??? Suggerimento: inserire in input il numero N del giorno della settimana che ha il pomeriggio (1=lunedì, 2=martedì ecc.) e la data odierna nella forma G (giorno, 1=lunedì, 2=martedì ecc.) e M (mese, 1=gennaio, 2=febbraio ecc.)
7)
Ad una gara di sci partecipano 100 sciatori che scendono in ordine progressivo di numero di pettorale, presi in input i loro tempi, dire il numero di pettorale dello sciatore che ha vinto.
8)
Data in input una sequenza di N numeri, calcolare la somma dei numeri pari in essa contenuti (anche N è in input)
9)
Presi in input due numeri, dare in output il massimo dei loro valori assoluti
10)
effettuare il controllo formale di una data nel formato G M A
11)
ad una festa una damigiana contiene 45 litri di coca cola. E' possibile spillare un bicchiere pieno alla volta (1 decilitro) oppure mezzo bicchiere ( mezzo decilitro). Quante richieste è possibile soddisfare?
Ho fatto il primo in questo modo:
CODICE
anno=1950
AbA=100
AbB=40
PercA=8.0
PercB=10.0
while AbA!=AbB:
AbA=AbA+(AbA*PercA/100)
AbB=AbB+(AbB*PercB/100)
anno=anno+1
print anno
ma il mio risultato è diverso da quello della soluzione che dà il sito, mentre il codice della soluzione sembra uguale al mio, ma come potrete verificare, il risultato è diverso:
CODICE
#Codice soluzione:
z=1950
a=100
b=40
x=0.08
y=0.10
while a!=b:
z=z+1
a=a+(a*x)
b=b+(b*y)
print("il risultato è:")
print (z)
L'errore è nel fatto che lui metta direttamente x=0.08 mentre io faccio la divisione all'interno del ciclo, eppure non capisco cosa vada storto in questo modo...