此检查检测到无法正常到达的代码

2024-09-27 21:23:51 发布

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

我不知道为什么会这样。当我试图返回false时,它表示下面的所有if语句都有错误

This inspection detects code which can not be normally reached

我用的是pyCharm,我听说这是一个问题,但我不能用我自己的来证实别人的问题。在

code = raw_input("Enter your code: ").lower()
begmeter = int(raw_input("Enter your beginning meter: "))
endmeter = int(raw_input("Enter your ending meter: "))

def errors():

if type(begmeter and endmeter < 0):
    print("Please use an integer above 0 for beginning and end meter")
    return False
else:
    return True

if type(begmeter and endmeter != int):
    print("Please use integers for beginning and end meter")
    return False
else:
    return True


if len(begmeter) > 9:
    print("Beginning meter and end meter can have a max digit amount of 9 digits")
    return False
else:
    return True

if len(endmeter) > 9:
    print("Beginning meter and end meter can have a max digit amount of 9 digits")
    return False
else:
    return True

Tags: andfalsetrueinputrawreturnifcode
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:51

顶部的if语句在我看来有点可疑:

if type(begmeter and endmeter < 0):

这永远是真理,因为你采用的是一个值的类型。在

所以您的IDE告诉您将始终选择同一个分支,而您的其余代码是无法访问的。在

正如其他评论者所提到的,您的第一个if语句已经完成,所以即使if语句没有可疑,您也永远无法通过它,因为在函数的前四行中返回True或{}。在

尝试重写您的errors()函数,使之更接近我认为您的意图。注意raw_input总是返回一个字符串,您需要尝试将它理解为int:

^{pr2}$

相关问题 更多 >

    热门问题