簡體   English   中英

基於多個變量分配真/假變量

[英]assign true/false variable based on multple variables

這是我的任務:

Clunker Motors Inc. 正在召回 1995-1998 年和 2004-2006 年的所有車輛。給定一個變量 modelYear,寫一個語句,如果 modelYear 的值落在兩個召回范圍內,則將 True 分配給召回,否則分配 False。

不要在本練習中使用 if 語句!

因此,如果我正確閱讀此內容:

我需要有一個變量“召回”,它將根據變量 modelYear 在 1995 年和 1998 年之間或在 2004 年和 2006 年之間的條件分配為真或假。

在進行一些搜索時,我發現了其他人用於此挑戰的這段代碼:

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

現在 MyProgrammingLab 不接受這是對這種情況的有效答案。 它說 SyntaxError 第 1 行。我是否只是忽略了一個左括號或缺少大寫或其他什么? 還是我使用這種方法完全錯誤?

您非常接近,但是您使用了錯誤的工具。 我使用PyCharm ,並在本地運行代碼。 還有其他優秀的 IDE,但這是我使用的一個。 當我輸入這個時:

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

PyCharm 向我展示了:

在此處輸入圖片說明

請注意語法錯誤的紅色下划線,當光標懸停時,它會顯示“未解析的引用”,因為它不知道And是什么。 應該是and

更好的工具 == 更好的代碼。

干杯,祝你好運。

記住 PEP8 規則說,特殊保留關鍵字是小寫的,所以它不是And,Or but and,or

點擊python規則

Pep8 規則

在本地運行您的代碼 - 找出您的 SyntaxError。 更仔細地閱讀示例。 和/或不大寫。

另外,Python 有一個 range 函數。 你可以用它代替

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

您使用結束年份 +1,因為范圍不包括在內

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM