如何让Python了解一系列数字是如何继续的

时间:2017-02-15 21:07:39

标签: python

如果我的问题很愚蠢(我几周前刚刚开始学习Python并且这是我的第一种编程语言),那么请您提前抱歉,但不管怎么说。 我想知道我是否以及如何让Python了解一系列数字是如何继续的?对于我目前的计划,我有一个这样的一行:

elif (inimeste_arv / kohtade_arv) in (1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0):

现在,我希望它能够理解它无限期地(10.0,11.0,12.0等)保持相同的含义,因为我无法手动输入这个elif语句所需的每个数字。 甚至有办法做到这一点还是不可能?

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

elif (inimeste_arv / kohtade_arv) in map(float, range(1, number)):

其中numbermax value + 1

答案 1 :(得分:0)

始终让电脑为您打字。我想我们需要更多的信息来为你找出一个确切的答案,但我对你得到的东西有一些猜测。

我可以从你的例子中推测出一种可能性,你想知道你的结果是否是整数。要测试它,您可以使用模数运算符(%),它为您提供除法运算的其余部分:

124 % 5
Out: 4
125 % 5
Out: 0

所以,如果你的(inimeste_arv / kohtade_arv)得到0,你就会知道它是一个整数。

另一种可能性是你想知道它是否采用特定的数字模式。对于简单模式,您可以使用范围:

range(0, 125, 25)
Out: [0, 25, 50, 75, 100]

哪个有一个有限的结尾,但仍然可以节省很多打字。对于更复杂的模式,您可能已经阅读了列表推导,它们非常强大,但对于新程序员来说可能不直观:

[i**2 for i in xrange(0, 6)]
Out: [0, 1, 4, 9, 16, 25]

答案 2 :(得分:-1)

如果要查看除法结果是否为整数,可以使用%运算符。 试试:

elif (inimeste_arv % kohtade_arv) == 0: