Why does my code print "built-in method" and some hex numbers?

46,069

Solution 1

Key contains this problematic line:

key = input("Now, input the key which will be used to encode the message.\n".lower)

which passes as input to input the lower method of a string, when you (presumably) want to pass the string and then apply lower to what input returns.

Solution 2

After .upper or .lower there has to be a closed pair of parentheses. You can put custom arguments in them but if you just want to capitalize the input leave them empty.

Example:

user=(input("Enter a letter:")).upper()

This will change case to upper.

Solution 3

You need to use closed pair of parenthesis after lower

key = input("Input the key which will be used to encode the message.\n".lower())

Solution 4

key = input("Input the key which will be used to encode the message.\n".lower)

Because lower function is missing parenthesis, put parenthesis after function call. so syntax would be like key = input("Input the key which will be used to encode the message.\n".lower())

Share:
46,069
Admin
Author by

Admin

Updated on March 13, 2021

Comments

  • Admin
    Admin about 3 years

    Here is my Key function:

    def Key(message, decision):
        key = input("Input the key which will be used to encode the message.\n".lower)
        n = 0
        for i in range(len(key)):
            if 64 < ord(key[n]) < 91:
                raise ValueError(key[n], "is a capital letter!")
            else:
                n = n+1
        Keycode(decision, message, key)
    

    When I call it and input the message and press enter it comes up with:

    built-in method lower of str object at 0x0150E0D0

    What's wrong? How can I fix it?

  • Sabrina Leggett
    Sabrina Leggett almost 4 years
    this is what I get for using ruby for too long. I just spent 30 minutes trying to debug this.