在输入的数字之前打印完美正方形的所有值


number = int(input("Please enter a positive number? "))
if number >= 0:
    for i in range(1, number + 1):
        perfect_squares = i**2
        print(perfect_squares, end=" ")
elif number < 0:
    print("Error: you entered a negative number")

例如,如果我输入数字 10,我希望它现在输出"1 4 9",它正在输出从 1 到 10 的所有完美正方形。

如何结束循环以仅执行输入数字的数字?

只需更改范围以停止在用户输入的数字的平方根处:

number = int(input("Please enter a positive number? "))
if number >= 0:
    for i in range(1, int(number ** 0.5 + 1)):
        perfect_squares = i**2
        print(perfect_squares, end=" ")
elif number < 0:
    print("Error: you entered a negative number")

输出:

Please enter a positive number? 10
1 4 9 

试试这个

number = int(input("Please enter a positive number? "))
if number >= 0:
for i in range(1, number + 1):
    perfect_squares = i**2
    print(perfect_squares, end=" ")
    if perfect_squares > i:  # add if statement here
        break
elif number < 0:
    print("Error: you entered a negative number")

最新更新