【问题标题】:can't get python to do simple increment in for-loop不能让python在for循环中做简单的增量
【发布时间】:2012-08-02 18:43:09
【问题描述】:

我刚开始使用 Python(我掌握了大量的 VBA),所以我正在玩一些简单的语法。

我编写了这个简单的 for 循环,但输出似乎错误。我无法让变量“c”增加。

这是我的代码:

class Card:
    def county(self):
        for n in range(0,13):
            c = 0
            c = c + 1
            print c
    pick_card = Card()
    print pick_card.county()

输出只是 '1' 打印 13 次,然后是“无”

我做错了什么?

【问题讨论】:

  • 您应该将c = 0 移到循环之外;)。此外,python 支持 += 就像在 C 中一样。所以你可以使用 c += 1 而不是 c = c + 1

标签: python for-loop increment


【解决方案1】:

每次循环时,您将c 设置为0,然后添加1,使其变为1。

另外,你的最后一行是打印函数的返回值,它不返回任何东西(因此是“无”)

【讨论】:

    【解决方案2】:

    您首先将其分配为 0,然后将其增加 1。因此它始终为 1。 尝试使用以下内容:

    class Card:
        def county(self):
            c = 0
            for n in range(0,13):
                c += 1
                print c
        pick_card = Card()
        print pick_card.county()
    

    【讨论】:

    • 谢谢。我犯了一个愚蠢的错误。
    • 呃-哦 -- IndentationFault ...(抱歉,我认为这很有趣,因为它听起来像 SegmentationFault)。
    • SO 确定代码的方式(通过缩进)以及缩进 python 代码的重要性——这些事情必然会在相当短的时间内发生。
    猜你喜欢
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2014-10-18
    • 2021-09-10
    相关资源
    最近更新 更多