2013-08-15 5 views
1
mark=input("Please enter the mark you received for the test:") 
total=input("Please enter the mark the test was out of:") 

percentage=(mark*100/total) 

print("Your percentage is:"),percentage,"%" 

Lorsque j'exécute ceci dans python 3.3.2 mac il arrive avec cette erreur.Pourcentages Calculs ne fonctionnant pas

Traceback (most recent call last): 
    File "/Users/user1/Desktop/Percentage2.py", line 4, in <module> 
    percentage=(mark/total*100) 
TypeError: unsupported operand type(s) for /: 'str' and 'str' 

Comment puis-je résoudre le problème?

+0

Aucun expert sur Python, mais l'erreur indique clairement que vous ne pouvez pas utiliser de chaîne dans un calcul mathématique. Changez vos variables en type numérique ou convertissez-les en type numérique. –

Répondre

0

Lorsque vous faites "imprimer" déclaration faire:

print ("your percentage is: %p" % (percentage)) 

De plus, vous pouvez utiliser le format:

print("your percentage is: {0} ".format(percentage)) 

recommande personnellement d'utiliser le format.

6
percentage=(float(mark)*100/float(total)) 

print("Your percentage is: ",percentage,"%", sep='') 
+0

Merci beaucoup aidé beaucoup !! – user2685621

3

Une entrée retourne une chaîne, vous essayez de faire « 30 » * 100/total, les chaînes ne peut être calculé mathématiquement, essayez int (marque) et int (total), puis faire le calcul.

try: 
    Mark = int(input("Please enter the mark you received for the test.")) 
    Total = int(input("Please enter the mark the test was out of.")) 
    Perc = (Mark*100)/Total 
    print("Your Percentage is"+Perc) 
except: 
    print("Numbers not entered. Please try again") 
Questions connexes