【问题标题】:How can I make return boolean value not printed? [closed]如何使返回布尔值不打印? [关闭]
【发布时间】:2020-11-18 23:26:33
【问题描述】:
word_1 = str(input(f"Enter a string: "))
word_reversed = word_1[::-1]


def check_palindrome(input_string):
    if word_1 == word_reversed:
        return (True)
        print (f'{word_1} is a palindrome')
        
    elif word_1 != word_reversed:
        return(False)
        print(f'{word_1} is not a palindrome')  
        
print(check_palindrome(word_1))

> `Here is the output: 
Enter a string: level 
level is a palindrome 
True`

我想写 retun true value 但让它不可见。我应该用 return 运行它

【问题讨论】:

  • return 退出函数,不运行后面的代码。切换打印并返回。您还将函数包装在打印中:删除它,它只会打印“...回文”

标签: python function boolean


【解决方案1】:

这个?

word_1 = str(input(f"Enter a string: "))
word_reversed = word_1[::-1]


def check_palindrome(input_string):
    if word_1 == word_reversed:
        print (f'{word_1} is a palindrome')
        return (True)
        
    elif word_1 != word_reversed:
        print(f'{word_1} is not a palindrome')  
        return(False)
        
check_palindrome(word_1)

【讨论】:

  • 是的!!!成功了,非常感谢:)
【解决方案2】:

代替

print(check_palindrome(word_1))

你应该写

check_palindrome(word_1)

它仍然会打印您期望的行,因为函数说要打印它,但是如果您在 print 语句中调用该函数,它总是会打印返回值。

【讨论】:

  • 谢谢你的回答,首先我写了'check_palindrome(word_1)' 但输出只是打印'输入一个字符串:'
  • 确保函数中的print语句在return语句之前
  • 是的,现在成功了,非常感谢 :)
  • 不客气 :)
【解决方案3】:

如果您使用 return 为函数分配一个值,打印该函数首先运行该函数,然后再打印它。

要解决这个问题,你可以这样写:return str(word1, "is a palindrome") 而不是返回 True 和 False

【讨论】:

  • 谢谢,我写的是 return str(word1, "is a palindrome") 明白这是真的吗?我应该说这是真的
  • 不,它不会,如果你想将 True 分配给函数值,如果单词是回文,你应该写 return,但是你不应该打印函数。仅通过调用名称来运行它,因此您应该只编写 check_palindrome(word) 而不是 print(check_palindrome(word))
  • 是的,我明白了。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
相关资源
最近更新 更多