【问题标题】:Getting Multiple Inputs and checking if they are Perfect squares or not without using math在不使用数学的情况下获取多个输入并检查它们是否是完美的正方形
【发布时间】:2021-05-05 09:44:45
【问题描述】:
def isPerfectSquare(n) :
 
    i = 1
    while(i * i<= n):
        if ((n % i == 0) and (n / i == i)):
            return True
        i = i + 1
    return False

lst=[]
n=int(input())
for i in range(0,n):
  ele=int(input("Enter: "))
  lst.append(ele)
for i in lst:
  isPerfectSquare(i)
  if (isPerfectSquare(n)):
    print("Perf")
  else:
    print("Not")

我是一个新的 Python 程序员,所以我正在尝试不同的低级问题。我首先尝试了 for 循环,但无法弄清楚如何使用多个输入来做到这一点。 我哪里做错了?当我输入一个完美的正方形时,它不起作用。

【问题讨论】:

    标签: python loops user-input perfect-square


    【解决方案1】:

    问题是if (isPerfectSquare(n)): 你总是只是传入输入并检查它是否是一个完美的正方形。您应该像这样if isPerfectSquare(i):

    那样传入列表的每个元素
    def isPerfectSquare(n):
        i = 1
        while i * i <= n:
            if (n % i == 0) and (n / i == i):
                return True
            i = i + 1
        return False
    
    
    lst = []
    n = int(input())
    for i in range(0, n):
        ele = int(input("Enter: "))
        lst.append(ele)
    for i in lst:
        if isPerfectSquare(i):
            print("Perf")
        else:
            print("Not")
    

    输出:

    3
    Enter: 1
    Enter: 4
    Enter: 10
    Perf
    Perf
    Not
    

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 2017-03-10
      • 2015-11-06
      • 2022-08-23
      • 2016-07-03
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多