【问题标题】:formatted output with for loops使用 for 循环格式化输出
【发布时间】:2020-02-22 18:42:13
【问题描述】:

我想首先说我是一个绝对的新手,并且我的计划只参加了 2 个月。我无法按照项目所需的方式显示我的 for 循环的输出。我已经搜索了我所有的教科书和课堂讲座,但不知道该怎么做。任何帮助将不胜感激。

我将复制并粘贴函数和输出。请记住,此文件仅用于函数,因此不包含输入,但我确实有。

这就是我所拥有的,我将在下面列出它需要如何发布。

def perfect_square(num):

    for number in range(1, num, 1):
        square = number ** 2
#             print(square, end='')
    print("the perfect squares from {} are: {}".format(num, square))

以上输出

Enter a positive integer: 10
the perfect squares from 10 are: 81

第二次尝试

def perfect_square(num):
    import math
    for number in range(1, num, 1):
        square = number ** 2
#             print(square, end='')
        print("the perfect squares from {} are: {}".format(num, square))

以上输出

Enter a positive integer: 10
the perfect squares from 10 are: 1
the perfect squares from 10 are: 4
the perfect squares from 10 are: 9
the perfect squares from 10 are: 16
the perfect squares from 10 are: 25
the perfect squares from 10 are: 36
the perfect squares from 10 are: 49
the perfect squares from 10 are: 64
the perfect squares from 10 are: 81
The required output needs to look like this
Enter a positive integer: 10
The perfect squares for the number 10 are: 1, 4, 9

这是新代码,然后是输出,但上面是我似乎无法弄清楚的所需输出。感谢大家的帮助。

    import math
    for number in range(1, num):
        if number ** .05 % 1 == 0:
            print("the perfect squares from {} are: {}".format(num, number))

输出

Enter a positive integer: 10
the perfect squares from 10 are: 1

【问题讨论】:

  • 仅基于最后一句话,您只希望所有完美平方数都小于或等于输入?
  • 请记住,如果您使用 非常大的数字,这将在 python 中花费 非常长的时间。这是一个非常简单的算法,您可以在编译语言中复制它,在您自己的时间里只学习一点点。

标签: python for-loop printing output formatted


【解决方案1】:

这是一个不使用任何库的解决方案:

def find_squares(x):
    return_value = []
    for i in range(1, x + 1):
        # Note that x**0.5 is the squareroot of x
        if i**0.5 % 1 == 0:
            return_value.append(i)
    return return_value

print(find_squares(int(input('Please enter a number: '))))

【讨论】:

    【解决方案2】:

    这是一个非常简单的练习:只需使用for i in range(1, x+1) 得到所有小于或等于x 的完美平方数。

    这是我写的:

    import math
    
    def findSquares(x):
        for i in range(1, x+1):
            if math.sqrt(i).is_integer():
                print("one perfect number is: " + str(i))
    

    它只是循环通过相关的数字。

    另一个解决方案是这样的:

    import math
    
    x = int(input("num?: "))
    output = "The perfect squares for the number {} are: ".format(x) 
    for i in range(1, x+1):
            if math.sqrt(i).is_integer():
                    output += "{}, ".format(i)
    print(output)
    
    

    这将产生一个空输出,并在输出之前不断添加数字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多