使用数学技巧找出数字是否是理想的平方

时间:2019-03-25 12:26:55

标签: python

第一个帖子在这里;

我正在尝试查找输入的数字是否是一个完美的平方。这就是我想出的(我是一个完整的初学者新手)

import math

num = int(input("enter the number:"))

square_root = math.sqrt(num)
perfect_square = list[1, 4, 5, 6, 9, 00]
ldigit = num%10

if ldigit in perfect_square:
     print(num, "Is perfect square")

该列表是数字,如果整数结尾,它将是一个完美的正方形。

perfect_square = list[1, 4, 5, 6, 9, 00]

TypeError: 'type' object is not subscriptable

从未见过(惊奇)。抱歉,如果这完全是逻辑和理解上的混乱。

3 个答案:

答案 0 :(得分:3)

您的代码有误:

perfect_square = list[1, 4, 5, 6, 9, 00]

应该是:

perfect_square = ['1', '4', '5', '6', '9', '00']

第二个将它们定义为整数,因此您不能输入数字00,而是将所有内容都转换为字符串以进行检查,然后使用strint返回整数。

我个人想采用另一种方法:

import math

num = int(15)
square_root = math.sqrt(num)

if square_root == int(square_root):
    print(f"{num} is a perfect square")
else:
    print(f"{num} is not a perfect square")

答案 1 :(得分:0)

您声明的列表中没有关键字“ list”,例如:

perfect_square = [1, 4, 5, 6, 9, 00]

答案 2 :(得分:0)

我们不需要list关键字即可在python中创建List对象。

List是python内置类型。列表文字写在方括号[]中。

例如:  平方= [1、4、9、16]

squares是此处的列表。

Ashutosh