我刚刚开始学习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:
我不断收到断言错误
答案 0 :(得分:0)
您的if语句当前检查值'old'
是否等于您的数组['old', 'young']
(显然不一样)
要检查主题是否包含在数组中,请使用in
if 'old' in subj_age:
#stuff
反算子:
if 'old' not in subj_age:
#stuff