You’re mixing different format functions.
The old-style % formatting uses % codes for formatting:
'It will cost $%d dollars.' % 95
The new-style {} formatting uses {} codes and the .format method
'It will cost ${0} dollars.'.format(95)
Note that with old-style formatting, you have to specify multiple arguments using a tuple:
'%d days and %d nights' % (40, 40)
In your case, since you’re using {} format specifiers, use .format:
"'{0}' is longer than '{1}'".format(name1, name2)