for-loop - python-带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))



...