无法使用以前的函数创建python函数程序

无法使用以前的函数创建python函数程序,python,python-3.x,function,user-defined-functions,Python,Python 3.x,Function,User Defined Functions,这是我一开始要完成的任务 猜字母a-Z check_guess()接受两个字符串参数:letter和guess(都需要一个字母字符) 如果猜测不是字母字符,则打印无效并返回False 测试并打印猜测是否为“高”或“低”,并返回False 测试并打印猜测是否“正确”,并返回True ​ 我做了这个 def check_guess(guess="input" , letter="g"): guess=input("enter input for guess: ") if gu

这是我一开始要完成的任务

猜字母a-Z

check_guess()
接受两个字符串参数:letter和guess(都需要一个字母字符)

  • 如果猜测不是字母字符,则打印无效并返回False

  • 测试并打印猜测是否为“高”或“低”,并返回False

  • 测试并打印猜测是否“正确”,并返回True ​

我做了这个

def check_guess(guess="input" , letter="g"):

    guess=input("enter input for guess: ")

    if guess.isalpha()==False:

        print("invalid" , guess.isalpha())

    elif guess>letter:

       print("High")

    elif guess<letter:

       print("Low")

    else:

        print(guess==letter)
def check\u guess(guess=“input”,letter=“g”):
猜测=输入(“输入猜测的输入:”)
如果guess.isalpha()==False:
打印(“无效”,guess.isalpha())
elif guess>字母:
打印(“高”)

elif guess我想你和我一样对这个平台很陌生,但是你必须更清楚地组织你的问题,提出具体的问题,而不是要求我们解决你的问题。你在挣扎什么?我的意思是,您已经在文本中编写了所需的内容,现在所要做的就是研究python中相应的解决方案。你需要的基本上是:

# function to determine matches

def ismatch(letter, guess):
    if (letter == guess):
        return True
    else:
        return False

# function to determine if input is valid (do some research or write your 
# own by storing all valid characters somehow and checking if input is in 
# it, check: # https://stackoverflow.com/questions/15558392/how-to-check-if- 
# character-in-string-is-a-letter-python

def isalpha(guess):
    if (guess.isalpha()):
        return True
    else:
        return False

# Main programm (check how to use loops)
# create a counter for amount of guesses
# save the input for the letter to be guessed after checking if it's valid 
# otherwise restart input for the letter (or exit program if you like)
# save the input of the guess after checking if it's valid 
# otherwise restart input for the guess(or exit program if you like)
# compare if guess was right with your match-function
# if so, finish programm
# otherwise raise the guess_counter by 1
# if limit of guess counter ( in your case 3) reached, exit program

您应该使用
raw\u input
将用户输入读取为字符串。根据您的要求,您可以尝试此代码

def check_guess(guess="a", letter="g"):
    guess = raw_input("enter input for guess: ")
    if guess.isalpha()==False:
        print("invalid" , guess.isalpha())
    elif guess>letter:
       print("High")
    elif guess<letter:
       print("Low")
    else:
        print(guess==letter)
        return True
    return False

def letter_guess():
    input_letter = raw_input("Enter the Answer letter for match: ")
    for x in range(3):
        status = check_guess(letter=input_letter)
        if status is True:
            return True
    return False

if __name__ == '__main__':
    letter_guess()
def check\u guess(guess=“a”,letter=“g”):
猜测=原始输入(“输入猜测:”)
如果guess.isalpha()==False:
打印(“无效”,guess.isalpha())
elif guess>字母:
打印(“高”)

elif猜猜你到底有什么问题?是否有错误或意外输出?否。。我上面提到的代码非常完美。。但是我被要求在代码下面提到的下一个问题中使用“check_guess()”函数。我就是不能用我在上面创建的函数来制作这个程序是的。。我是新来的。。是的。。非常感谢你的帮助!我可以使用
str()
直接将用户输入定义为字符串而不是使用
raw\u input
吗?实际上,我在不同的python版本中运行了代码。这就是为什么在Python2.7中不可能实现,但在Python3中只使用
input()
假设它是一个字符串,所以在那里没有什么可担心的。很遗憾,它给出的错误是未定义raw_input()名称。怎么办?你的代码运行得很好。它要求“输入匹配的答案字母:”然后要求输入“输入猜测的输入:”因此,如果我的输入不匹配,它会再要求输入2次,但最后dosnt retun False。现在怎么做?我假设你现在没有面临任何错误。在Python3中,原始输入已被删除,只需将其替换为
input()
方法即可。