-1

我想首先说我是一个绝对的新手,并且在我的程序中只工作了 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
4

2 回答 2

0

这是一个非常简单的练习:只需使用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)

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

于 2019-10-26T22:02:45.287 回答
0

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

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: '))))
于 2019-10-26T22:14:37.477 回答