【问题标题】:How I write this code without functions我如何编写没有函数的代码
【发布时间】:2018-04-08 11:13:27
【问题描述】:

这是真正的代码,我想编写没有功能的代码。

import sys
    from fractions import gcd

    n = int(sys.argv[1])

    for i in range(n):
        for j in range(n):
            GCD = gcd(i, j)
            if GCD == 1:
                sys.stdout.write("* ")
            else:
                sys.stdout.write(" ")
        print

该代码的输出是; Code 以及我尝试过的代码。但它不像上面的代码那样工作。

import sys
n = int(sys.argv[1])

for x in range(n):
    for y in range(n):
        while y != 0:
            temp = y
            y = x % y
            x = temp
        GCD = x

        if GCD == 1:
            sys.stdout.write("* ")
        else:
            sys.stdout.write(" ")
    print

我的代码输出是; my code 我是如何做到的,就像没有功能的第一个代码输出一样。

编辑:我不知道实际上是 sys.stdout.write 内置功能。 所以我会解释。就像没有换行的打印功能。

【问题讨论】:

    标签: python arrays function


    【解决方案1】:

    你可以用这个:

    import sys
    
    n = int(sys.argv[1])
    
    for i in range(n):
        for j in range(n):
             a,b =i,j
             while b:
                 a, b = b, a%b
            GCD = a
            if GCD == 1:
                sys.stdout.write("* ")
            else:
                sys.stdout.write(" ")
        print
    

    【讨论】:

    • 如果您尝试此代码,您会发现此代码不起作用。我也试过这段代码。输出与我的代码相同。
    • 我太谢谢你了。至少过去 3 天我试图解决这个问题。但你做到了。非常感谢。
    • 是的,没错。但我想知道一件事。对不起,如果我不知道我在想什么,我就无法进步。为什么当我用 i 和 j 更改 a 和 b 时,它不起作用?我的意思是,while j: and i,j = j, i%j ı 希望你能理解
    • @njx 这是一个好问题,也许将它作为一个新问题发布,包含两个代码块(工作和停止工作)
    • 我有点明白了。这是关于重置的。谢谢你发帖。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多