这是我的任务:
Clunker Motors Inc.正在召回1995-1998和2004-2006车型年代的所有车辆。如果modelYear的值落在两个召回范围内,则指定True将召回一个声明,否则指定False。
请勿在本练习中使用if语句!
所以,如果我正确读到这个:
我需要根据变量modelYear在1995年到1998年之间或在2004年到2006年之间的条件,将变量“recalled”赋予真或假。
在进行一些搜索时,我发现了其他人用于此挑战的代码段:
recalled = ((modelYear >= 1995) And ((modelYear <= 1998)) Or (modelYear >=2004) And (modelYear <=2006))
现在MyProgrammingLab不接受这个作为有效的答案。它说SyntaxError第1行。我只是忽略一个开括号或错过大写或什么?或者我使用这种方法完全错了吗?
答案 0 :(得分:2)
你很接近,但你使用的是错误的工具。我使用PyCharm,并在本地运行代码。还有其他优秀的IDE,但这是我使用的。当我输入:
modelYear = 1997
recalled = ((modelYear >= 1995) And ((modelYear <= 1998)) Or (modelYear >=2004) And (modelYear <=2006))
PyCharm告诉我:
请注意语法错误的红色下划线,当光标悬停时,它会显示“未解析的引用”,因为它不知道And
是什么。它应该是and
。
更好的工具==更好的代码。
干杯,祝你好运。
答案 1 :(得分:0)
答案 2 :(得分:-1)
在本地运行代码 - 找出你的SyntaxError。请仔细阅读示例。和/或没有资本化。
此外,Python还具有范围功能。你可以改用
recalled = modelYear in range(1995, 1999) or modelYear in range(2004, 2007)
您使用结束年+1,因为范围是非包容性的