Python 计算循环中的迭代次数

Python 计算循环中的迭代次数,python,python-2.7,while-loop,Python,Python 2.7,While Loop,我们如何计算while循环中用户给出的输入数 假设用户输入50个数字。我如何计算输入的数量 比如说, largest_so_far = None smallest_so_far = "+inf" while True: value = raw_input(">") if value == "done": break try: value = float(value) except ValueError:

我们如何计算while循环中用户给出的输入数

假设用户输入50个数字。我如何计算输入的数量

比如说,

largest_so_far =  None 
smallest_so_far = "+inf" 

while True:

    value = raw_input(">")
    if value == "done":
        break

    try: 
        value = float(value)
    except ValueError: 
        print "invalid input"
        continue

    if value > largest_so_far:      
            largest_so_far = value
    if value < smallest_so_far:
            smallest_so_far = value
迄今为止最大值=无
迄今为止的最小值=“+inf”
尽管如此:
值=原始输入(“>”)
如果值==“完成”:
打破
尝试:
值=浮动(值)
除值错误外:
打印“无效输入”
持续
如果值>迄今为止的最大值:
迄今为止的最大值=值
如果值小于目前为止的最小值:
迄今为止的最小值=值

您可以使用一个简单的计数器:

largest_so_far =  float('-inf') 
smallest_so_far = float('inf')
i = 0
while True:

    value = raw_input(">")
    if value == "done":
        break

    try: 
        value = float(value)
        i = i + 1
    except ValueError: 
        print "invalid input"
        continue

    if value > largest_so_far:      
            largest_so_far = value
    if value < smallest_so_far:
            smallest_so_far = value
maximum\u迄今为止=浮点('-inf')
迄今为止的最小值=浮点('inf')
i=0
尽管如此:
值=原始输入(“>”)
如果值==“完成”:
打破
尝试:
值=浮动(值)
i=i+1
除值错误外:
打印“无效输入”
持续
如果值>迄今为止的最大值:
迄今为止的最大值=值
如果值小于目前为止的最小值:
迄今为止的最小值=值
i的值将是用户给出的输入量减去
完成的
。您可以通过将增量移动到
if
上方来添加它

如果您不知道计数器是什么,我强烈建议您在编码之前了解更多。您如何知道如何使用
try
语句而不使用计数器?你自己做过这个代码吗


使用来自Internet的代码不是问题,但您需要理解它。:-)

你能举一个循环的例子吗?根据实现的不同,一个
.size
就足够了。。或者计数器..@Docteur我编辑了我的问题实际上我知道计数器,但我认为会有其他方法,比如我们用来计数的方法。list()。我已经得到了来自的帮助来编写上面的代码,但没有复制我已经用我自己的方式重写了它:-)@Freddy明白这不是一个指控,只是一个以防万一的建议。您没有要计数的列表-这就是为什么我要求查看您的循环,计数会起作用。我认为OP需要
float('inf')
float('-'inf')
作为基本值-
None
float
类型相比,如果在Python3.x中运行,则会导致问题,
+inf'
只是一个字符串(在2.x中-它只是有一个副作用,看起来很有效-虽然在3.x中,你会再次得到一个例外)…而且…无论它是否是有效的
浮点值
,计数器都会递增-因此
值的数量!=“done”
被计数,而不是有效数字的计数。。。