Python:带条件的比较

时间:2018-10-14 07:26:37

标签: python python-3.x

我刚刚开始学习Python。因此,我仍然对条件式if和else感到困惑。特别是,现在分配要求布尔值字符串。我尝试了多种方法,但只能得到一个代码。另外,如果存在多个条件,则有很多(超过两个)可能性。我们是否仍然使用诸如result = ['a','b','c']之类的字符串来首先定义变量?

subject_age = ['old','young']

change_analysis = True 

if subj_age == 'old':

   print_analysis = True

else: 

   print_analysis = False

当主题为“旧”时,代码可以正常运行。但是,当我测试主题为“年轻”时,代码仍然无法正常工作。

# Change subj_age
subj_age = 'young'
​
# Re-run code and make sure the conditional still works
%run -i ./A1Code/q7_code.py
assert not change_analysis
assert isinstance(change_analysis, bool)
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
~/Downloads/A1Code/q7_code.py in <module>()
      6 # Re-run code and make sure the conditional still works
      7 get_ipython().run_line_magic('run', '-i ./A1Code/q7_code.py')
----> 8 assert not change_analysis
      9 assert isinstance(change_analysis, bool)

AssertionError: 

我不断收到断言错误

1 个答案:

答案 0 :(得分:0)

您的if语句当前检查值'old'是否等于您的数组['old', 'young'](显然不一样)

要检查主题是否包含在数组中,请使用in

if 'old' in subj_age:
    #stuff

反算子:

if 'old' not in subj_age:
    #stuff