Python 函数重印之前的 Input() 内容

问题描述 投票:0回答:1
secret_word = "hello"
guess = ""

def get_guess():
    guess = input("Guess: " )
    if guess.isalpha() is not True:
        print("Please input a letter")
        get_guess()
    if len(guess) > 1:
        print("Please input a single letter!")
        get_guess()
    guess = guess.lower()
    print(guess)
get_guess()

上面的学校项目代码,当到达“打印(猜测)”行时,将打印所有先前的内容。

例如,输入链“3”“2”“ww”“a”将导致3,2,并且ww在接受a之前被拒绝。然而,一旦到达“打印(猜测)”,它将按顺序打印

a WW 2 3

有什么想法吗?

python function
1个回答
0
投票

为了停止当前函数执行并推迟递归调用,您必须使用关键字

return
,如下所示:

secret_word = "hello"
guess = ""

def get_guess():
    guess = input("Guess: " )
    if guess.isalpha() is not True:
        print("Please input a letter")
        return get_guess()
    if len(guess) > 1:
        print("Please input a single letter!")
        return get_guess()
    guess = guess.lower()
    print(guess)

get_guess()

否则,在通过递归调用成功运行后,它将继续之前的运行。

© www.soinside.com 2019 - 2024. All rights reserved.