当前位置: 首页 > 知识库问答 >
问题:

为什么即使条件为false也会执行第行?[副本]

郭永怡
2023-03-14

我有一个函数,它接收一个字符串参数,并在这个函数中检查这个参数是int还是float。尽管此条件的结果为false,但仍将执行以下行。

我使用PyCharm IDE和Python 3.8

这是代码

number1 = 17
number2 = 17.1
testStr = "Test string"


def define_type(argument01):
    if type(argument01) == str:
        print(argument01 + " - string")
    if type(argument01) == int or float:
        print(str(argument01) + " - int or float")


define_type(testStr)

输出:

Test string - string
Test string - int or float

Process finished with exit code 0

共有1个答案

段干麒
2023-03-14
if type(argument01) == int or float:

可以重写

if (type(argument01) == int) or float:

因此,即使论证01也不是一个int,测试总是true,在某种程度上,你的测试是

if float:

你想要:

if type(argument01) == int or type(argument01) == float:
 类似资料:
  • 我对if/elif语句有这个烦人的问题。我是新手,抱歉愚蠢的问题。我试图找到一个修复,但没有人有它的Python。所以,如果两个条件都是True,我希望程序执行子句中的代码。据我所知,只有当两个条件都为True时,子句中的代码才会执行,对吗?不过,这在我的代码中似乎没有发生。 因此,和变量之前就已经设置好了。在这个游戏中,发生的是:用户选择偶数或奇数,并输入一个从0到5的数字。然后,计算机使用从0

  • 问题内容: 我正在编写一个(貌似)简单明了的SQL代码段,该代码段在确保该列存在之后将其删除。 问题:如果列不存在,代码 内 IF子句抱怨说,它无法找到列!好了, 卫生署 ,这就是为什么它的IF子句中! 所以我的问题是,为什么不应该执行的一段代码会出现错误? 这是代码段: …这是错误: 我正在使用Microsoft SQL Server 2005 Express Edition。 问题答案: IF

  • 这是我的代码: 因为我使用POM设计模式,所以我为此创建了一种方法: 这是超文本标记语言标签: 我的问题是,即使存在WebElement,isDisplayed()也返回false。

  • 问题内容: 由于从未声明@A,因此sql server应该抛出错误,但是不会。这是为什么? 谢谢 问题答案: SQL Server没有块级变量作用域。 每批/存储的过程等 从MSDN(我的粗体) 变量的范围是可以引用该变量的Transact-SQL语句的范围。变量的范围从声明的点一直持续到声明它的 批处理 或 存储过程 的末尾。

  • 我不知道发生了什么事情。即使条件是假的,if块中的代码仍然运行。我在netbeans IDE7.4中设计了我的界面,只需在Eclipse中复制粘贴设计。以下是我的代码 无论我在jinstrument jcombobox中选择什么,我都会得到“inside if”作为输出。我已经检查了print语句,但enterloop的值为0,它仍然进入if语句块。请帮助我解决这个问题

  • 如果我在maven deploy插件中调用两个部署文件执行 然后,第一次执行的javadoc上传也在第二次执行中执行(查找basis-vs-bo-20.0.2-20161103.130940-25-javadoc.jar): 为什么参数javadoc会导致第二次执行再次上载同一个文件?