Change your print statement like below (I mean the format) instead of using string concat operation. I would not say its not correct to write that way but the below way is always a better operation since you will have the control on string type as well.
import pywapi
import string
zip = input(" ZIP Code: ")
cs = raw_input("City, State: ")
weather_com_result = pywapi.get_weather_from_weather_com('zip')
print "Weather.com says: It is %s and %s F now in %s \n \n." %(str(lower(weather_com_result['current_conditions']['text'])), str(weather_com_result['current_conditions']['temperature']), str(cs))
However if you still need it in the concat way use the below sample syntax.
import pywapi
import string
zip = input(" ZIP Code: ")
cs = raw_input("City, State: ")
weather_com_result = pywapi.get_weather_from_weather_com('zip')
print "Weather.com says: It is ." + str.lower('abc') + " and " + 'def' + 'ghi' + "F now in " + str('ijk') + ".\n\n"
Errors in your program
Your print statement has a variable
weather_com_result['current_conditions'] + ['temperature'] it should be weather_com_result['current_conditions']['temperature']
Let me know if you have any questions.