2017-02-07 34 views
0
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的完美正方形在輸入的數字前打印完整正方形的所有值

如何結束循環只做數字到輸入的數字?

回答

0

只要改變範圍內停止在輸入的號碼用戶的平方根:

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 
0

試試這個

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")