基于多变量分配真/假变量

2024-10-06 07:18:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是:

Clunker Motors Inc. is recalling all vehicles from model years 1995-1998 and 2004-2006.Given a variable modelYear write a statement that assigns True to recalled if the value of modelYear falls within the two recall ranges and assigns False otherwise.

Do not use an if statement in this exercise!

所以如果我没看错的话:

我需要一个变量“recalled”,它将根据变量modelYear在1995年到1998年之间或者在2004年到2006年之间的条件来分配true或false。在

在进行搜索时,我发现了其他人用于此挑战的代码段:

recalled = ((modelYear >= 1995) And ((modelYear <= 1998)) Or (modelYear >=2004) And (modelYear <=2006))

现在MyProgrammingLab不接受这是对这种情况的有效答案。上面写着SyntaxError 1号线。我是不是忽略了一个左括号,或者遗漏了一个大写字母之类的?或者我用这种方法是完全错误的吗?在


Tags: andtheifisallincstatementvehicles
3条回答

记住PEP8规则,它说,特殊保留关键字是小写的,所以它不是And,Or而是And,Or

单击pythonrules

Pep8 Rules

你很接近,但你用错了工具。我使用PyCharm,并在本地运行代码。还有其他一些非常优秀的ide,但是我使用的就是这个。当我输入以下内容时:

modelYear = 1997
recalled = ((modelYear >= 1995) And ((modelYear <= 1998)) Or (modelYear >=2004) And (modelYear <=2006))

PyCharm向我展示了:

enter image description here

注意语法错误的红色下划线,当光标悬停时,它显示“Unresolved reference”,因为它不知道And是什么。它应该是and。在

Better Tools == Better Code.

干杯祝你好运。在

在本地运行代码-找出语法错误。仔细阅读示例。和/或未大写。在

另外,Python还有一个范围函数。你可以用这个代替

recalled = modelYear in range(1995, 1999) or modelYear in range(2004, 2007) 

使用年终+1是因为范围是非包含的

相关问题 更多 >