Al Stern wrote: > I used the following code and got the following error.
The result of input is always a string. > attributes["strength"] = input("\nHow many points do you want to assign to > strength?: ") Say you type 42 when you run your script. Then the above assignment is effectively attributes["strength"] = "42" and when you loop over the values you try to add a string to an integer which is what Python complains about: >>> 42 + "42" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' To get an integer you have to convert the string explicitly: >>> 42 + int("42") 84 The best place to do that is as early as possible, even before you put the value into the dictionary: attributes["strength"] = int(input(...)) (In a real application you'd guard against values that cannot be converted to integers) > #point allocation > point_total = 0 > for val in values: > point_total += val > print (point_total) > > and get this error... > > Traceback (most recent call last): > File "C:\Users\Public\Documents\My Python programs\role_playing_game1.py", > line 26, in <module> > point_total += val > TypeError: unsupported operand type(s) for +=: 'int' and 'str' _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor