Python编写if语句频繁出现语法错误,请求技术支持
代码错误修正及说明
你的代码存在3处语法问题,修正后的完整代码如下:
def report_size(n: int) -> str: """Return 'small' if n is between 0 and 20 inclusive, 'medium' if n is between 21 and 40 inclusive, and 'large' if n is 41 or greater. Precondition: n >= 0 >>> report_size(4) 'small' >>> report_size(24) 'medium' >>> report_size(45) 'large' """ if n <= 20: return 'small' elif 21 <= n <= 40: return 'medium' else: return 'large'
错误细节说明:
- Python是大小写敏感语言,条件判断关键字必须是小写的
if,你写的If会被识别为未定义名称,触发语法错误。 - 字符串首尾引号不匹配:
return 'small"和return 'medium"里,开头用了单引号,结尾误用双引号,Python要求字符串的首尾引号必须完全一致(单引号或双引号均可,需统一)。 - 逻辑优化(可选):原代码
elif 20 < n <=40可以简化为elif n <=40(因为第一个条件已经过滤掉n<=20的情况),不过写成21 <=n <=40更贴合题目描述的范围,逻辑更直观。
内容的提问来源于stack exchange,提问作者Ethan MacKinnon
相关产品推荐
相关产品推荐

