我(非常)是个编程新手,我需要一个用Python 3编写的程序的帮助。目前,它的设计是为了找出1到10之间的多少个数字可以被5整除。这是我的方法:
def five():
a = 0
b = 0
c = 0
while a <= 9:
a = a + 1
b = a / 5
if type(b) == int and b is not 0:
c = c + 1
else:
pass
print c在本例中,它打印"6“。
问题是,正如您可能已经知道的,在Python中,数字1.0不是整数。我唯一想要的是让Python知道点后面有0的所有数字都是整数,或者找到一种交互式编程语言,或者找到另一种方法。
谢谢!
发布于 2011-11-05 10:27:54
在Python语言中询问一个值的type()并不会告诉你它是否是一个整数。计算的结果类型不会根据答案而改变类型。(但在Python 2中,除法中答案的类型取决于输入的类型。在Python3中,/之后的类型总是float,而//之后的类型取决于输入的类型。)
要测试可被5整除的整数,请使用模运算符:
if a % 5 == 0:
c = c + 1另外,避免对整数使用is运算符。使用b != 0与0进行比较,而不是b is not 0 (有关详细信息,请参阅Python “is” operator behaves unexpectedly with integers )。
发布于 2011-11-05 10:30:08
我建议你使用
if x % 5 == 0
...为了找到那些可以被5整除的,%是模运算符,它把余数给整数除法,在除法精确的地方,这个余数只是0。
发布于 2011-11-05 10:30:34
您需要使用mod '%‘运算符。示例
10%5=0
6%5=1
由于你是新手,这里有一个简短的片段,因为你可能需要帮助。
count = 0
for i in range(1,10):
if i % 5 == 0:
count += 1
print counthttps://stackoverflow.com/questions/8017750
复制相似问题