TypeError: pas tous les arguments converti lors de la mise en forme de chaîne python

Le programme est censé prendre en deux noms, et si ils sont de la même longueur, il doit vérifier si elles sont le même mot. Si c'est le même mot, il permet d'imprimer "les noms sont Les mêmes". Si ils sont de la même longueur, mais avec des lettres différentes, il permet d'imprimer "Les noms sont différents, mais la même longueur". La partie que je vais avoir un problème avec est dans le fond de 4 lignes.

#!/usr/bin/env python
# Enter your code for "What's In (The Length Of) A Name?" here.
name1 = input("Enter name 1: ")
name2 = input("Enter name 2: ")
len(name1)
len(name2)
if len(name1) == len(name2):
    if name1 == name2:
        print ("The names are the same")
    else:
        print ("The names are different, but are the same length")
    if len(name1) > len(name2):
        print ("'{0}' is longer than '{1}'"% name1, name2)
    elif len(name1) < len(name2):
        print ("'{0}'is longer than '{1}'"% name2, name1)

Lorsque j'exécute ce code, il affiche:

Traceback (most recent call last):
  File "program.py", line 13, in <module>
    print ("'{0}' is longer than '{1}'"% name1, name2)
TypeError: not all arguments converted during string formatting

Toutes les suggestions sont grandement appréciés.

InformationsquelleAutor user2652300 | 2013-08-05