-1

我知道如果您是代码专家,这似乎很愚蠢。但如果你回答它,你就像是码字神界的码字菩萨。估计是个笑话。

所以,我写了这段代码:

def media():    
n = 0
soma = 0
while True:
    print("Type a number")
    num = input()
    print type(num)
    if num is int:
        soma = soma + num
        n = n + 1
        print "soma =", soma, " num = ", num, " n = ", n
        media = soma/n
        print media
    else:
        break
media()

当我运行代码时,我得到如下信息:

在此处输入图像描述

我的问题是:为什么不满足条件if num is int:

我的目标是使条件“如果用户键入 ENTER,则中断”。

提前致谢。

4

1 回答 1

11
if isinstance(num, int)

将是正确的方法。

if num is int

正在检查num和的标识是否int相同,除了int是一个类型并且num是该类型的一个实例,因此它们不是同一个对象。

于 2013-04-02T13:04:54.607 回答