Python,循环,倍数

时间:2016-04-10 23:04:51

标签: python loops

我无法弄清楚我做错了什么;我一直收到追溯错误。

有人可以告诉我我做错了什么或者指出了我正确的方向吗?

Multiples = str(input('Multiples of 13 from 200 to 100'))
for counter in range(max):
    for i in reversed(list(range(100,201))):
        if i%13==0:
            print(i,'total','*= 13')
            list1 = {}
            for j in list(range(2,i+1)):
                if i%j == 00:
                list1 = []
                print(list1)

我想让输出看起来如下所示:

Multiples of 13 from 200 to 100
195 = 13 times 15
182 = 13 times 14
169 = 13 times 13
156 = 13 times 12
143 = 13 times 11
130 = 13 times 10
117 = 13 times 9
104 = 13 times 8

另外,有人可以告诉我如何在此块中输入代码,因为每次单击代码或 CTRL-K 我的格式都会关闭吗?

1 个答案:

答案 0 :(得分:0)

实际上有很多事情阻止输出看起来像你想要的那样:

  1. Multiples = str(input('Multiples of 13 from 200 to 100'))中,要求input提示用户输入一个号码,然后将 输入分配给{ {1}}。

  2. 您实际上并未打印Multiples

  3. Multiples of 13 from 200 to 100不是数字,因此您无法在其上调用max。我当然假设您没有在其他地方定义range,所以如果您有,请更新您的代码以包含它。

  4. max将打印print(i,'total','*= 13')。这与您想要的输出并不相似。

  5. 在打印之前,您从未真正任何内容插入<number> total *=13。即使你这样做,它也会出现在列表中,所以它看起来像list1

  6. 由于提供的代码不是minimal complete and verifiable example,可以让我们查明您的确切错误,我怀疑您需要从头开始重写代码 - 正如所写,没有一个符合您想要的输出得到。这比任何情况都要复杂得多。

    你所要做的就是

    • 浏览数字201,200,...... 100
    • 检查每个数字是否可被13整除
    • 使用方便的除法运算符[<element>]将数字的值除以13作为浮点数(十进制数),并使用/将其转换为整数。

    以下是正确方法的最小示例:

    int()