我想开始说我是绝对的新手,并且只参加了我计划的两个月。我无法以我需要的方式显示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
这里是不使用任何库的解决方案:
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: '))))
这是一个非常容易的练习:只需使用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)
这将输出为空,并在输出之前不断添加数字。