第一个帖子在这里;
我正在尝试查找输入的数字是否是一个完美的平方。这就是我想出的(我是一个完整的初学者新手)
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
从未见过(惊奇)。抱歉,如果这完全是逻辑和理解上的混乱。
答案 0 :(得分:3)
您的代码有误:
perfect_square = list[1, 4, 5, 6, 9, 00]
应该是:
perfect_square = ['1', '4', '5', '6', '9', '00']
第二个将它们定义为整数,因此您不能输入数字00,而是将所有内容都转换为字符串以进行检查,然后使用str
和int
返回整数。
我个人想采用另一种方法:
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