输出打印无,并未附加''

时间:2017-10-30 07:06:03

标签: python python-3.x function printing return

def isWordGuessed(secretWord, lettersGuessed):
    for char in secretWord:

        if char not in lettersGuessed:
            print('_',end=' ')
        else:
            print(char,end=' ')

print(isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's']))

输出为_pp_eNone

我希望我的输出为_pp_e,同时仍然使用print函数调用该函数。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

您只需将其修改为:

即可
def isWordGuessed(secretWord, lettersGuessed):
     for char in secretWord:
         if char not in lettersGuessed:
             print("_", end="")
         else:
             print(char, end="")
     return ""

print(isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's']))

None是循环for for循环后的隐式返回值。

答案 1 :(得分:0)

由于您的函数isWordGuessed没有任何return关键字,因此声明

isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's'])将返回None

现在在print方法中调用,因此None将返回print函数并将被打印。

secretWord结尾处发生这种情况的原因是由于end

print语句中使用了isWordGuessed参数

P.S。 在python中,变量名应该是由下划线分隔的小写字母。请参阅this