布尔运算符:使用布尔变量进行分支(python)

问题描述 投票:0回答:2

我正在做一个家庭作业问题,但我很难让它正确返回最终陈述。

使用说明:

写一个表达式,打印“你一定很富有!”如果变量 年轻和出名都是真的。

代码(我只能更新 if 语句):

young = True
famous = False
if (young == 'True') and (famous == 'True'):
    print('You must be rich!')
else:
    print('There is always the lottery...')

我最初的想法是上面代码中的组合,但我很绝望,我也尝试了下面的所有组合:

if (young != 'True') and (famous == 'True'): 
if (young == 'True') and (famous != 'True'): 
if (young == 'True') and (famous != 'False'): 
if (young == 'True') or (famous == 'True'): 
if (young == 'True') or (famous != 'True'): 
if (young == 'True') or (famous == 'True'): 
if (young == 'True') or (famous != 'False'):

结果:

用年轻人和名人进行测试都是错误的
你的输出:总是有彩票...

测试年轻人为 True,名人为 False
你的输出:总是有彩票...

测试年轻人为 False,名人为 True
你的输出:总是有彩票...

✖ 测试年轻人和名人都是真实的
预期输出:你一定很有钱!
你的输出:总是有彩票...

python boolean-operations
2个回答
2
投票

显然您对布尔变量和字符串感到困惑

young=True #boolean variable

young='True' #string

这是更正后的代码

young = True
famous = False
if young and famous:
    print('You must be rich!')
else:
    print('There is always the lottery...')

我建议您在使用它之前先完成有关字符串和布尔变量的课程,祝您好运


0
投票

请注意使用

''
,因为
input
已经将输入转换为字符串,又称为
'True'
。如果您使用
and
并且两者都为 true,则它将为 true。

young = (input() == 'True')
famous = (input() == 'True')

if (young == True) and (famous == True):
    print('You must be rich!')
else:
    print('There is always the lottery...')
© www.soinside.com 2019 - 2024. All rights reserved.