我对 Python 非常陌生,我只是在深入研究整个类/对象的理解领域。这是我真正在努力解决的问题:如果我在文件duck.py 中有一个带有属性和成员函数的“duck”类,并且我正在使用witch.py 中的一个函数来接收duck 类。我发出import 语句import duck然后在我的函数中:def doesitfloat(myduck, mywitch): if myduck.boyancy() == 'floats': ...“doesitfloat”如何知道 myduck 是具有所述属性/成员函数的鸭子对象?我想我了解了类的一般概念,但是当我创建一个类时,我如何在其他地方使用它?编辑... 我的第一篇文章和 python 新手 - 我能说什么。让我阐述..在我的类文件duck.py 中,我有:class duck: def buoyancy(self): return True在另一个文件 witch.py 中,我有我的 doitfloat() 函数和适当的导入import duckdef doesitfloat(myduck, mywitch) if myduck.buoyancy() == 'floats': ...'doesitfloat' 如何知道 myduck 是对象还是类型鸭子?现在,在另一段代码中 - 甚至可能在第三个文件中,声明了适当的导入,我有以下内容:someduck = ducksomewitch = witch testingsomething = doesitfloat(someduck, somewitch)很明显,这个类是在我的第三个文件中声明的,并且在本地我已经声明了 someduck 和 somewitch 对象。然而,函数 'doesitfloat' 从未真正被告知它是一个鸭子对象。在其他语言中,'doesitfloat' 的声明会明确说明参数的类型,但是 python... ?? 对不起,这让我感到困惑。
2 回答

慕哥9229398
TA贡献1877条经验 获得超6个赞
将数字相乘,将数字相加,得到数字的位数。将相关联的三元组结果存储为字符串。然后比较每个字符串的结果。
E.g: 137 maps to "(21, 11, 3)"
173 maps to "(21, 11, 3)"
然后您只需从数组 A 中获取每个字符串的索引,其中索引是素数。
j = 0;
For or while loop:
j = A.indexOf(someString, j+1);
对于索引 j,您需要 someString 的下一次出现。

哆啦的时光机
TA贡献1779条经验 获得超6个赞
与在字符串和整数之间来回切换不同,单独使用整数更容易(也更快)。通过取模 10 从数字中提取最后一位数字。使用整数除以 10 保留其余数字。将最后一位数字提高到适当的 10 次幂(取其余数字的对数)并将其添加到剩余数字中数字。这使您可以旋转原始数字。
is_prime
当您传递n 的平方根时,可以通过停止循环来改进您的功能。如果n是合数,则其因数中至少有一个必须小于或等于其平方根;例如,如果n = p × q,则p和q等于平方根,或者其中一个小于平方根,另一个大于平方根。
我会让你把这些想法简化为代码。
添加回答
举报
0/150
提交
取消