yaoaman 发表于 2020-8-18 11:05:15

第六讲课后习题


i=0
while i<=100:
    if isinstance(i/2,int):
      i=i+1
    else:
      print(i,end=" ")
      i=i+1



我这个是输入1-100的奇数。为什么结果是所有的整数了。isinstance那里出问题了吗?

1q23w31 发表于 2020-8-18 11:13:32

python除法默认返回的是浮点型

1q23w31 发表于 2020-8-18 11:14:47

i=0
while i<=100:
    if i%2 == 0:
      i=i+1
    else:
      print(i,end=" ")
      i=i+1

输出奇数的话,这样做

yaoaman 发表于 2020-8-18 11:22:45

1q23w31 发表于 2020-8-18 11:14
输出奇数的话,这样做

我 知道这个方法,那用isinstance不行吗

学习型motor 发表于 2020-8-18 11:22:59

直接用 i%2 获得余数就行了,没必要用那个isinstance,而且i/2得到的结果都是浮点数,默认的

1q23w31 发表于 2020-8-18 11:24:06

yaoaman 发表于 2020-8-18 11:22
我 知道这个方法,那用isinstance不行吗

没办法,除法就是返回浮点型,当然也能用isitnstance,不过有点麻烦

yaoaman 发表于 2020-8-18 11:26:28

学习型motor 发表于 2020-8-18 11:22
直接用 i%2 获得余数就行了,没必要用那个isinstance,而且i/2得到的结果都是浮点数,默认的

余数的方法我知道,我想试试看isinstance,那有方法使除出来的数字分清是浮点型还是整数吗

yaoaman 发表于 2020-8-18 11:30:37

1q23w31 发表于 2020-8-18 11:24
没办法,除法就是返回浮点型,当然也能用isitnstance,不过有点麻烦

嗯懂了,谢谢
页: [1]
查看完整版本: 第六讲课后习题