python里那个偶数条件判断,我想要浮点数类型去做判断,不知道为什么总是无效
#100以内偶数累加:2+4=6....
i=0
a=0
b=0
while i<100:
i+=1
a+=1
c=a%2
if c==0:
b+=a
print(b)
#上面是可正常运行的
i=0
a=0
b=0
while i<100:
i+=1
a+=1
c=a/2
if c!=float:
b+=a
print(b)
#这段是问题代码,if语句执行了但毫无影响,没有头绪,想搞明白(我想的是如果不能整除就应该是浮点型对吧)
你没有对浮点数进行具体的判断:
i = 0
a = 0
b = 0
while i < 100:
i += 1
a += 1
c = a / 2
if c != int(c):
continue
b += a
print(b)
你是要判断c的类型,所以要先通过type()获取它的类型,不然你拿一个数字和一个类型做比较,当然永远是不相等的
type(c) != float
你的猜想是对的,c != float
的比较是有问题的。首先,float
是 Python 内置的浮点数类型,它并不是一个值,因此你想要比较的应该是 type(c) != float
。其次,在这个计算中,如果 a
是奇数,c
应该是一个非整数的浮点数,而不是整数,因此你需要使用 c % 1 != 0
来判断 c
是否为整数。
正确的代码应该是这样的:
i = 0
a = 0
b = 0
while i < 100:
i += 1
a += 1
c = a / 2
if c % 1 != 0:
b += a
print(b)
这个代码与之前的代码类似,但是使用了浮点数除法来判断 a
是否为偶数。如果 a
不能被2整除,则它的一半不是整数,因此 c % 1 != 0
的值为 True,此时将 a
加入到累加器 b
中。
需求
8
除以用户输入的整数并且输出try:
num = int(input("请输入整数:"))
result = 8 / num
print(result)
except ValueError:
print("请输入正确的整数")
except ZeroDivisionError:
print("除 0 错误")