Percentuale Python

Pubblicità

kekko95

Utente Attivo
Messaggi
363
Reazioni
1
Punteggio
39
Ciao a tutti. Sto imparando una funzione del print che mi permetta di rendee il testo per il programmatore più leggibile ed intuitivo ma ho un problema. Se scrivo cosi è esatto:

a=int(input("Dimmi il primo numero da inserire"))
b=int(input("Dimmi il secondo numero da inserire"))
c=int(input("Dimmi il terzo numero da inserire"))
d=input("Per sapere quanto vale la somma premere il tasto INVIO")
if a+b+c>=0:
print("La somma dei numeri %s %s %s è maggiore o uguale a 0;. Si tratta dunque di un numero positivo."%(a,b,c))

Ma se nella stessa funzione print faccio cosi mi da errore:

a=int(input("Dimmi il primo numero da inserire"))
b=int(input("Dimmi il secondo numero da inserire"))
c=int(input("Dimmi il terzo numero da inserire"))
d=input("Per sapere quanto vale la somma premere il tasto INVIO")
if a+b+c>=0:
print("La somma dei numeri %s %s %s è maggiore o uguale a 0;Precisamente fa %s+%s+%s. Si tratta dunque di un numero positivo."%(a,b,c))

Allora ho provato a fare in questo modo ma mi restituisce sempre errore:

a=int(input("Dimmi il primo numero da inserire"))
b=int(input("Dimmi il secondo numero da inserire"))
c=int(input("Dimmi il terzo numero da inserire"))
d=input("Per sapere quanto vale la somma premere il tasto INVIO")
if a+b+c>=0:
print("La somma dei numeri %s %s %s è maggiore o uguale a 0;Precisamente fa %s+%s+%s. Si tratta dunque di un numero positivo."%(a,b,c)%(a,b,c))

L' errore è: not enough arguments for format string

forse invece di %s devo scrivere altro? Spero mi sappiate aiutare.. Grazie :)


 
ho provato come dici tu ma mi da sempre errore. Non è che potresti riscrivermelo con la modifica? Forse ho cambiato %d nel posto sbagliato.
Cosa cambia tra %d e %s? :)
 
%d è per gli interi. %s per le stringhe.
Se è come il C... hai %c per i caratteri (se ricordo bene) e %f per i numeri con la virgola.
Poi ci son le diverse formattazioni... per decidere quante cifre far vedere... e altre cose che però non ricordo...
 
allora per prima cosa %d+%d+%d dentro il printf non ti rida la somma ma ti da solo la stringa per esempio 1+2+3, quindi se vuoi scrivere il totale devi metterlo in una variabile
seconda cosa %(a,b,c) %(a,b,c) non va bene, devi scrivere solo una volta %(a,b,c,a,b,c)
 
ok ma ho sempre lo stesso problema:

a=int(input("Dimmi il primo numero da inserire"))
b=int(input("Dimmi il secondo numero da inserire"))
c=int(input("Dimmi il terzo numero da inserire"))
d=input("Per sapere quanto vale la somma premere il tasto INVIO")
if a+b+c>=0:
print("La somma dei numeri %d %d %d è maggiore o uguale a 0;Precisamente fa %d+%d+%d. Si tratta dunque di un numero positivo."%(a,b,c)%(a,b,c))

errore: not enough arguments for format string

Secondo me è sbagliata la parte che evidenzio in verde. Forse non vanno messe attaccate le due percentuali? Puo essere?

Edit: provvedo a modificare e ti faccio sapere :)

---------- Post added at 14:44 ---------- Previous post was at 14:33 ----------

Bene ho risolto... vi ringrazio :) ho fatto cosi:

a=int(input("Dimmi il primo numero da inserire"))
b=int(input("Dimmi il secondo numero da inserire"))
c=int(input("Dimmi il terzo numero da inserire"))
x=(a+b+c)
d=input("Per sapere quanto vale la somma premere il tasto INVIO")
if a+b+c>=0:
print("La somma dei numeri %d %d %d è maggiore o uguale a 0;Precisamente fa %d. Si tratta dunque di un numero positivo."%(a,b,c,x))

è giusto affermare che %d serve per riportare numeri mentre %s stringhe (testi,numeri, testi+numeri)?

Se non vi dispiace, dato che siete competenti più di me, riuscireste a dare un occhio anche a quest' altro mio problema esposto in una discussione precedente? :)
http://www.tomshw.it/forum/programmazione/228642-python-3-a.html
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top